From a06afeac2a65163b0557528fd74582c49b11d539 Mon Sep 17 00:00:00 2001 From: Dominik Pieper Date: Mon, 23 Oct 2023 13:07:05 +0200 Subject: [PATCH] chore(nxext): remove everything except the ionic packages --- e2e/preact-e2e/eslint.config.js | 21 - e2e/preact-e2e/jest.config.ts | 11 - e2e/preact-e2e/project.json | 33 - e2e/preact-e2e/tests/preact.test.ts | 76 - e2e/preact-e2e/tsconfig.json | 10 - e2e/preact-e2e/tsconfig.spec.json | 9 - e2e/solid-e2e/eslint.config.js | 21 - e2e/solid-e2e/jest.config.ts | 11 - e2e/solid-e2e/project.json | 33 - e2e/solid-e2e/tests/solid.test.ts | 77 - e2e/solid-e2e/tsconfig.json | 10 - e2e/solid-e2e/tsconfig.spec.json | 9 - e2e/stencil-e2e/eslint.config.js | 21 - e2e/stencil-e2e/jest.config.ts | 11 - e2e/stencil-e2e/project.json | 33 - e2e/stencil-e2e/tests/application.test.ts | 87 - e2e/stencil-e2e/tests/library.test.ts | 205 - e2e/stencil-e2e/tsconfig.json | 13 - e2e/stencil-e2e/tsconfig.spec.json | 9 - e2e/svelte-e2e/eslint.config.js | 21 - e2e/svelte-e2e/jest.config.ts | 11 - e2e/svelte-e2e/project.json | 33 - e2e/svelte-e2e/tests/application.test.ts | 178 - e2e/svelte-e2e/tests/library.test.ts | 143 - e2e/svelte-e2e/tsconfig.json | 10 - e2e/svelte-e2e/tsconfig.spec.json | 9 - e2e/sveltekit-e2e/eslint.config.js | 21 - e2e/sveltekit-e2e/jest.config.ts | 11 - e2e/sveltekit-e2e/project.json | 33 - e2e/sveltekit-e2e/tests/sveltekit.spec.ts | 83 - e2e/sveltekit-e2e/tsconfig.json | 10 - e2e/sveltekit-e2e/tsconfig.spec.json | 9 - e2e/vue-e2e/eslint.config.js | 21 - e2e/vue-e2e/jest.config.ts | 12 - e2e/vue-e2e/project.json | 33 - .../tests/vue-preset-standalone.spec.ts | 32 - e2e/vue-e2e/tests/vue-preset.spec.ts | 33 - e2e/vue-e2e/tests/vue.spec.ts | 159 - e2e/vue-e2e/tsconfig.json | 10 - e2e/vue-e2e/tsconfig.spec.json | 14 - package.json | 20 +- packages/core/README.md | 11 - packages/core/eslint.config.js | 32 - packages/core/jest.config.ts | 11 - packages/core/package.json | 23 - packages/core/project.json | 44 - packages/core/src/index.ts | 3 - .../src/lib/utils/add-plugin-to-nx-json.ts | 11 - packages/core/src/lib/utils/ast-utils.ts | 45 - .../core/src/lib/utils/map-lint-pattern.ts | 8 - packages/core/tsconfig.json | 16 - packages/core/tsconfig.lib.json | 11 - packages/core/tsconfig.spec.json | 14 - packages/nuxt/README.md | 39 - packages/nuxt/eslint.config.js | 36 - packages/nuxt/executors.json | 27 - packages/nuxt/generators.json | 19 - packages/nuxt/jest.config.ts | 16 - packages/nuxt/package.json | 51 - packages/nuxt/project.json | 72 - packages/nuxt/src/executors/build/compat.ts | 5 - packages/nuxt/src/executors/build/executor.ts | 89 - packages/nuxt/src/executors/build/schema.d.ts | 7 - packages/nuxt/src/executors/build/schema.json | 31 - packages/nuxt/src/executors/serve/compat.ts | 5 - packages/nuxt/src/executors/serve/executor.ts | 100 - packages/nuxt/src/executors/serve/schema.d.ts | 8 - packages/nuxt/src/executors/serve/schema.json | 36 - .../application/application.spec.ts | 172 - .../src/generators/application/application.ts | 38 - .../application/files/base/.gitignore__tmpl__ | 24 - .../files/base/nuxt.config.ts__tmpl__ | 29 - .../application/files/base/nuxt.d.ts__tmpl__ | 4 - .../files/base/src/pages/index.vue__tmpl__ | 33 - .../files/base/src/public/favicon.ico__tmpl__ | Bin 4286 -> 0 bytes .../files/base/tsconfig.app.json__tmpl__ | 9 - .../files/base/tsconfig.json__tmpl__ | 22 - .../files/base/tsconfig.spec.json__tmpl__ | 8 - .../src/generators/application/lib/add-e2e.ts | 53 - .../generators/application/lib/add-linting.ts | 58 - .../generators/application/lib/add-project.ts | 32 - .../lib/create-application-files.ts | 29 - .../application/lib/normalize-options.ts | 56 - .../application/lib/set-defaults.ts | 27 - .../src/generators/application/schema.d.ts | 25 - .../src/generators/application/schema.json | 67 - packages/nuxt/src/generators/init/init.ts | 72 - packages/nuxt/src/generators/init/schema.d.ts | 5 - packages/nuxt/src/generators/init/schema.json | 36 - packages/nuxt/src/generators/utils/lint.ts | 35 - .../nuxt/src/generators/utils/versions.ts | 11 - packages/nuxt/src/index.ts | 1 - packages/nuxt/tsconfig.json | 16 - packages/nuxt/tsconfig.lib.json | 11 - packages/nuxt/tsconfig.spec.json | 14 - packages/preact/README.md | 41 - packages/preact/eslint.config.js | 33 - packages/preact/generators.json | 30 - packages/preact/jest.config.ts | 17 - packages/preact/package.json | 37 - packages/preact/project.json | 76 - .../application/application.spec.ts | 27 - .../src/generators/application/application.ts | 90 - .../application/files/eslintrc.js.template | 23 - .../application/files/index.html.template | 16 - .../application/files/package.json.template | 5 - .../application/files/public/favicon.svg | 15 - .../application/files/src/App.module.css | 33 - .../application/files/src/App.tsx.template | 25 - .../application/files/src/index.css | 30 - .../application/files/src/index.tsx.template | 7 - .../generators/application/files/src/logo.tsx | 47 - .../files/tsconfig.app.json.template | 10 - .../application/files/tsconfig.json.template | 26 - .../files/tsconfig.spec.json.template | 15 - .../generators/application/lib/add-cypress.ts | 17 - .../generators/application/lib/add-jest.ts | 20 - .../generators/application/lib/add-linting.ts | 45 - .../generators/application/lib/add-project.ts | 13 - .../generators/application/lib/add-vite.ts | 16 - .../application/lib/create-lint-target.ts | 18 - .../application/lib/update-jest-config.ts | 18 - .../application/lib/update-vite-config.ts | 24 - .../src/generators/application/schema.d.ts | 21 - .../src/generators/application/schema.json | 61 - .../generators/component/component.spec.ts | 44 - .../src/generators/component/component.ts | 21 - .../__fileName__/__className__.tsx.template | 5 - .../__fileName__.spec.tsx.template | 12 - .../component/lib/add-exports-to-barrel.ts | 79 - .../lib/create-component-in-project.ts | 25 - .../src/generators/component/schema.json | 30 - .../preact/src/generators/init/init.spec.ts | 24 - packages/preact/src/generators/init/init.ts | 16 - .../generators/init/lib/add-cypress-plugin.ts | 14 - .../generators/init/lib/add-dependencies.ts | 20 - .../generators/init/lib/add-jest-plugin.ts | 15 - .../preact/src/generators/init/schema.d.ts | 6 - .../preact/src/generators/init/schema.json | 26 - .../library/files/eslintrc.js.template | 23 - .../library/files/package.json.template | 5 - .../library/files/src/index.ts.template | 1 - .../library/files/tsconfig.json.template | 26 - .../library/files/tsconfig.lib.json.template | 10 - .../library/files/tsconfig.spec.json.template | 15 - .../src/generators/library/lib/add-jest.ts | 20 - .../src/generators/library/lib/add-linting.ts | 45 - .../src/generators/library/lib/add-project.ts | 27 - .../src/generators/library/lib/add-vite.ts | 15 - .../src/generators/library/lib/add-vitest.ts | 26 - .../library/lib/update-jest-config.ts | 17 - .../generators/library/lib/update-tsconfig.ts | 28 - .../library/lib/update-vite-config.ts | 24 - .../src/generators/library/library.spec.ts | 51 - .../preact/src/generators/library/library.ts | 113 - .../preact/src/generators/library/schema.d.ts | 23 - .../preact/src/generators/library/schema.json | 64 - packages/preact/src/generators/utils/lint.ts | 33 - .../preact/src/generators/utils/testing.ts | 34 - .../preact/src/generators/utils/versions.ts | 4 - packages/preact/src/index.ts | 3 - packages/preact/tsconfig.json | 13 - packages/preact/tsconfig.lib.json | 11 - packages/preact/tsconfig.spec.json | 16 - packages/solid/README.md | 41 - packages/solid/eslint.config.js | 33 - packages/solid/generators.json | 30 - packages/solid/jest.config.ts | 17 - packages/solid/migrations.json | 3 - packages/solid/package.json | 40 - packages/solid/project.json | 76 - .../application/application.spec.ts | 34 - .../src/generators/application/application.ts | 96 - .../application/files/eslintrc.js.template | 26 - .../application/files/index.html.template | 16 - .../application/files/package.json.template | 5 - .../application/files/public/favicon.ico | Bin 22310 -> 0 bytes .../files/src/App.module.css.template | 33 - .../application/files/src/App.tsx.template | 25 - .../application/files/src/index.css.template | 13 - .../application/files/src/index.tsx.template | 16 - .../generators/application/files/src/logo.svg | 1 - .../files/tsconfig.app.json.template | 10 - .../application/files/tsconfig.json.template | 24 - .../files/tsconfig.spec.json.template | 15 - .../generators/application/lib/add-cypress.ts | 17 - .../generators/application/lib/add-jest.ts | 21 - .../generators/application/lib/add-linting.ts | 45 - .../generators/application/lib/add-project.ts | 31 - .../generators/application/lib/add-vite.ts | 16 - .../application/lib/create-project-files.ts | 21 - .../application/lib/update-jest-config.ts | 18 - .../application/lib/update-vite-config.ts | 24 - .../src/generators/application/schema.d.ts | 25 - .../src/generators/application/schema.json | 62 - .../generators/component/component.spec.ts | 44 - .../src/generators/component/component.ts | 21 - .../__fileName__/__className__.tsx.template | 5 - .../__fileName__.spec.tsx.template | 8 - .../component/lib/add-exports-to-barrel.ts | 79 - .../lib/create-component-in-project.ts | 25 - .../src/generators/component/schema.json | 30 - .../solid/src/generators/init/init.spec.ts | 37 - packages/solid/src/generators/init/init.ts | 34 - .../generators/init/lib/add-cypress-plugin.ts | 9 - .../generators/init/lib/add-dependencies.ts | 22 - .../generators/init/lib/add-jest-plugin.ts | 9 - .../solid/src/generators/init/schema.d.ts | 6 - .../solid/src/generators/init/schema.json | 26 - .../library/files/eslintrc.js.template | 26 - .../library/files/package.json.template | 5 - .../library/files/src/index.ts.template | 1 - .../library/files/tsconfig.json.template | 24 - .../library/files/tsconfig.lib.json.template | 10 - .../library/files/tsconfig.spec.json.template | 15 - .../src/generators/library/lib/add-jest.ts | 20 - .../src/generators/library/lib/add-linting.ts | 41 - .../src/generators/library/lib/add-project.ts | 27 - .../src/generators/library/lib/add-vite.ts | 16 - .../src/generators/library/lib/add-vitest.ts | 26 - .../library/lib/create-project-files.ts | 25 - .../library/lib/update-jest-config.ts | 17 - .../generators/library/lib/update-tsconfig.ts | 28 - .../library/lib/update-vite-config.ts | 24 - .../src/generators/library/library.spec.ts | 64 - .../solid/src/generators/library/library.ts | 112 - .../solid/src/generators/library/schema.d.ts | 26 - .../solid/src/generators/library/schema.json | 69 - packages/solid/src/generators/utils/lint.ts | 36 - .../solid/src/generators/utils/testing.ts | 46 - .../solid/src/generators/utils/versions.ts | 5 - packages/solid/src/index.ts | 3 - packages/solid/tsconfig.json | 13 - packages/solid/tsconfig.lib.json | 11 - packages/solid/tsconfig.spec.json | 16 - packages/stencil/README.md | 163 - packages/stencil/eslint.config.js | 40 - packages/stencil/executors.json | 47 - packages/stencil/generators.json | 62 - packages/stencil/jest.config.ts | 12 - packages/stencil/migrations.json | 90 - packages/stencil/package.json | 72 - packages/stencil/project.json | 95 - .../stencil/src/executors/build/compat.ts | 5 - .../stencil/src/executors/build/executor.ts | 102 - .../stencil/src/executors/build/schema.d.ts | 23 - .../stencil/src/executors/build/schema.json | 90 - packages/stencil/src/executors/e2e/compat.ts | 5 - .../stencil/src/executors/e2e/executor.ts | 54 - .../stencil/src/executors/e2e/schema.d.ts | 6 - .../stencil/src/executors/e2e/schema.json | 14 - .../stencil/src/executors/serve/compat.ts | 5 - .../stencil/src/executors/serve/executor.ts | 104 - .../stencil/src/executors/serve/schema.d.ts | 23 - .../stencil/src/executors/serve/schema.json | 90 - .../executors/stencil-runtime/e2e-testing.ts | 62 - .../src/executors/stencil-runtime/index.ts | 3 - .../prepare-config-and-outputarget-paths.ts | 135 - .../stencil-runtime/stencil-config.ts | 96 - .../stencil-runtime/stencil-parameters.ts | 16 - .../stencil-runtime/stencil-process.ts | 19 - .../src/executors/stencil-runtime/types.ts | 6 - packages/stencil/src/executors/test/compat.ts | 5 - .../stencil/src/executors/test/executor.ts | 61 - .../stencil/src/executors/test/schema.d.ts | 7 - .../stencil/src/executors/test/schema.json | 21 - .../add-outputtarget/add-angular/generator.ts | 181 - .../add-outputtarget-angular.spec.ts | 93 - .../add-outputtarget-react.spec.ts | 82 - .../add-outputtarget-svelte.spec.ts | 94 - .../add-outputtarget-vue.spec.ts | 57 - .../add-outputtarget/add-outputtarget.ts | 60 - .../add-outputtarget/add-react/generator.ts | 131 - .../add-outputtarget/add-svelte/generator.ts | 122 - .../add-outputtarget/add-vue/generator.ts | 130 - .../lib/calculate-stencil-source-options.ts | 23 - .../generators/add-outputtarget/schema.d.ts | 12 - .../generators/add-outputtarget/schema.json | 43 - .../application/files/app/LICENSE.template | 21 - .../files/app/src/assets/icon/favicon.ico | Bin 964 -> 0 bytes .../files/app/src/assets/icon/icon.png | Bin 11941 -> 0 bytes .../files/app/src/components.d.ts.template | 65 - .../app-home/app-home.__style__.template | 26 - .../app-home/app-home.e2e.ts.template | 19 - .../components/app-home/app-home.tsx.template | 28 - .../app-profile.__style__.template | 3 - .../app-profile/app-profile.e2e.ts.template | 27 - .../app-profile/app-profile.spec.ts.template | 47 - .../app-profile/app-profile.tsx.template | 31 - .../app-root/app-root.__style__.template | 15 - .../app-root/app-root.e2e.ts.template | 17 - .../components/app-root/app-root.tsx.template | 29 - .../app/src/global/app.__style__.template | 16 - .../files/app/src/global/app.ts.template | 7 - .../files/app/src/index.html.template | 25 - .../files/app/src/index.ts.template | 2 - .../files/app/src/manifest.json.template | 13 - .../files/app/stencil.config.ts.template | 21 - .../files/app/tsconfig.app.json.template | 9 - .../files/app/tsconfig.json.template | 26 - .../generators/application/generator.spec.ts | 129 - .../src/generators/application/generator.ts | 92 - .../generators/application/lib/add-cypress.ts | 19 - .../generators/application/lib/add-linting.ts | 54 - .../generators/application/lib/add-project.ts | 28 - .../src/generators/application/schema.d.ts | 25 - .../src/generators/application/schema.json | 82 - .../generators/component/component.spec.ts | 155 - .../src/generators/component/component.ts | 88 - .../__componentFileName__.__style__.template | 3 - .../__componentFileName__.e2e.ts.template | 32 - .../__componentFileName__.spec.tsx.template | 36 - ...__componentFileName__.stories.tsx.template | 19 - .../__componentFileName__.tsx.template | 31 - .../src/generators/component/schema.json | 33 - .../stencil/src/generators/init/init.spec.ts | 44 - packages/stencil/src/generators/init/init.ts | 33 - .../src/generators/init/lib/add-cypress.ts | 13 - .../init/lib/add-dependencies-for-apptype.ts | 17 - .../init/lib/add-e2e-dependencies.ts | 18 - .../src/generators/init/lib/add-jest.ts | 14 - .../init/lib/add-style-module-dependencies.ts | 21 - .../stencil/src/generators/init/schema.d.ts | 14 - .../stencil/src/generators/init/schema.json | 14 - .../ionic-pwa/files/pwa/LICENSE.template | 21 - .../pwa/src/assets/icon/apple-touch-icon.png | Bin 5426 -> 0 bytes .../files/pwa/src/assets/icon/favicon.ico | Bin 964 -> 0 bytes .../files/pwa/src/assets/icon/icon192.png | Bin 5842 -> 0 bytes .../files/pwa/src/assets/icon/icon512.png | Bin 10449 -> 0 bytes .../files/pwa/src/components.d.ts.template | 64 - .../app-home/app-home.__style__.template | 0 .../app-home/app-home.e2e.ts.template | 19 - .../app-home/app-home.spec.ts.template | 12 - .../components/app-home/app-home.tsx.template | 31 - .../app-profile.__style__.template | 0 .../app-profile/app-profile.e2e.ts.template | 18 - .../app-profile/app-profile.spec.ts.template | 38 - .../app-profile/app-profile.tsx.template | 46 - .../app-root/app-root.__style__.template | 0 .../app-root/app-root.e2e.ts.template | 17 - .../components/app-root/app-root.tsx.template | 20 - .../pwa/src/global/app.__style__.template | 31 - .../files/pwa/src/global/app.ts.template | 8 - .../files/pwa/src/index.html.template | 36 - .../files/pwa/src/interfaces.d.ts.template | 0 .../files/pwa/src/manifest.json.template | 20 - .../files/pwa/stencil.config.ts.template | 17 - .../files/pwa/tsconfig.app.json.template | 9 - .../files/pwa/tsconfig.json.template | 26 - .../generators/ionic-pwa/generator.spec.ts | 131 - .../src/generators/ionic-pwa/generator.ts | 91 - .../generators/ionic-pwa/lib/add-linting.ts | 53 - .../generators/ionic-pwa/lib/add-project.ts | 20 - .../src/generators/ionic-pwa/schema.d.ts | 25 - .../src/generators/ionic-pwa/schema.json | 82 - .../library/files/lib/LICENSE.template | 21 - .../files/lib/src/components.d.ts.template | 1 - .../my-component.__style__.template | 3 - .../my-component/my-component.e2e.ts.template | 32 - .../my-component.spec.ts.template | 36 - .../my-component/my-component.tsx.template | 32 - .../my-component/readme.md.template | 19 - .../library/files/lib/src/index.ts.template | 1 - .../lib/src/utils/utils.spec.ts.template | 21 - .../files/lib/src/utils/utils.ts.template | 8 - .../files/lib/stencil.config.ts.template | 11 - .../library/files/lib/tsconfig.json.template | 25 - .../files/lib/tsconfig.lib.json.template | 11 - .../src/generators/library/generator.spec.ts | 291 - .../src/generators/library/generator.ts | 105 - .../src/generators/library/lib/add-linting.ts | 53 - .../src/generators/library/lib/add-project.ts | 22 - .../generators/library/lib/update-tsconfig.ts | 11 - .../src/generators/library/schema.d.ts | 26 - .../src/generators/library/schema.json | 99 - .../files/lib/package.json.template | 16 - .../files/lib/src/index.html.template | 17 - .../make-lib-buildable/lib/update-tsconfig.ts | 25 - .../make-lib-buildable.spec.ts | 135 - .../make-lib-buildable/make-lib-buildable.ts | 109 - .../generators/make-lib-buildable/schema.d.ts | 12 - .../generators/make-lib-buildable/schema.json | 54 - .../storybook-configuration/generator.spec.ts | 35 - .../storybook-configuration/generator.ts | 282 - .../lib/add-dependencies.ts | 15 - .../lib/update-lint-config.ts | 50 - .../project-files/.babelrc.json | 11 - .../__dot__storybook/main.ts__tmpl__ | 44 - .../__dot__storybook/preview-body.html | 9 - .../__dot__storybook/preview-head.html | 1 - .../__dot__storybook/preview.ts__tmpl__ | 12 - .../__dot__storybook/tsconfig.json__tmpl__ | 10 - .../__dot__storybook/main.ts__tmpl__ | 60 - .../utils/webpack-module-rules.ts__tmpl__ | 54 - .../root-files/babel.config.json | 87 - .../storybook-configuration/schema.d.ts | 9 - .../storybook-configuration/schema.json | 36 - packages/stencil/src/index.ts | 7 - .../src/migrations/utils/migration-utils.ts | 25 - .../stencil/src/stencil-core-utils/index.ts | 2 - .../src/stencil-core-utils/lib/plugins.ts | 129 - .../stencil-core-utils/lib/style-plugins.ts | 74 - .../stencil/src/utils/angular-ast-utils.ts | 293 - packages/stencil/src/utils/ast-utils.ts | 40 - packages/stencil/src/utils/fileutils.ts | 18 - .../stencil/src/utils/insert-statement.ts | 39 - packages/stencil/src/utils/lint.ts | 41 - packages/stencil/src/utils/normalize-path.ts | 178 - packages/stencil/src/utils/targets.ts | 126 - packages/stencil/src/utils/testing.ts | 114 - packages/stencil/src/utils/typings.ts | 106 - packages/stencil/src/utils/utillities.ts | 60 - packages/stencil/src/utils/versions.ts | 31 - packages/stencil/tsconfig.json | 16 - packages/stencil/tsconfig.lib.json | 11 - packages/stencil/tsconfig.spec.json | 16 - packages/svelte/README.md | 41 - packages/svelte/eslint.config.js | 37 - packages/svelte/generators.json | 35 - packages/svelte/jest.config.ts | 17 - packages/svelte/package.json | 43 - packages/svelte/project.json | 83 - .../application/application.spec.ts | 91 - .../src/generators/application/application.ts | 57 - .../application/files/eslintrc.js.template | 27 - .../application/files/index.html.template | 14 - .../application/files/package.json.template | 4 - .../application/files/public/favicon.png | Bin 5450 -> 0 bytes .../files/public/global.css.template | 68 - .../application/files/src/App.svelte.template | 30 - .../application/files/src/main.ts.template | 10 - .../files/svelte.config.cjs.template | 7 - .../files/tsconfig.app.json.template | 38 - .../files/tsconfig.spec.json.template | 19 - .../generators/application/lib/add-cypress.ts | 14 - .../generators/application/lib/add-jest.ts | 17 - .../generators/application/lib/add-linting.ts | 36 - .../generators/application/lib/add-project.ts | 15 - .../generators/application/lib/add-vite.ts | 15 - .../application/lib/create-project-files.ts | 46 - .../application/lib/normalize-options.ts | 45 - .../application/lib/update-jest-config.ts | 23 - .../application/lib/update-vite-config.ts | 29 - .../src/generators/application/schema.d.ts | 25 - .../src/generators/application/schema.json | 72 - .../generators/component/component.spec.ts | 85 - .../src/generators/component/component.ts | 21 - .../__className__.svelte.template | 7 - .../__fileName__.spec.ts.template | 8 - .../__fileName__.stories.ts.template | 12 - .../component/lib/add-exports-to-barrel.ts | 79 - .../lib/create-component-in-project.ts | 33 - .../src/generators/component/schema.json | 30 - .../svelte/src/generators/init/init.spec.ts | 26 - packages/svelte/src/generators/init/init.ts | 35 - .../generators/init/lib/add-cypress-plugin.ts | 16 - .../generators/init/lib/add-dependencies.ts | 26 - .../generators/init/lib/add-jest-plugin.ts | 17 - .../generators/init/lib/add-linter-plugin.ts | 8 - .../svelte/src/generators/init/schema.d.ts | 5 - .../svelte/src/generators/init/schema.json | 26 - .../library/files/eslintrc.js.template | 27 - .../library/files/package.json.template | 4 - .../library/files/src/index.ts.template | 0 .../library/files/svelte.config.cjs.template | 7 - .../library/files/tsconfig.lib.json.template | 34 - .../library/files/tsconfig.spec.json.template | 15 - .../src/generators/library/lib/add-jest.ts | 21 - .../src/generators/library/lib/add-linting.ts | 40 - .../src/generators/library/lib/add-project.ts | 15 - .../src/generators/library/lib/add-vite.ts | 22 - .../src/generators/library/lib/add-vitest.ts | 26 - .../library/lib/create-project-files.ts | 50 - .../library/lib/normalize-options.ts | 43 - .../library/lib/update-jest-config.ts | 23 - .../generators/library/lib/update-tsconfig.ts | 28 - .../library/lib/update-vite-config.ts | 35 - .../src/generators/library/library.spec.ts | 80 - .../svelte/src/generators/library/library.ts | 65 - .../svelte/src/generators/library/schema.d.ts | 25 - .../svelte/src/generators/library/schema.json | 74 - .../configuration.spec.ts | 132 - .../storybook-configuration/configuration.ts | 73 - .../lib/update-main-js.ts | 10 - .../storybook-configuration/schema.d.ts | 12 - .../storybook-configuration/schema.json | 49 - .../generators/utils/add-plugin-to-nx-json.ts | 11 - .../src/generators/utils/create-ts-config.ts | 81 - packages/svelte/src/generators/utils/lint.ts | 41 - .../svelte/src/generators/utils/targets.ts | 42 - .../svelte/src/generators/utils/testing.ts | 47 - .../svelte/src/generators/utils/versions.ts | 9 - .../graph/TypeScriptSvelteImportLocator.ts | 162 - .../svelte/src/graph/processProjectGraph.ts | 91 - packages/svelte/src/index.ts | 4 - .../src/migrations/utils/migration-utils.ts | 55 - packages/svelte/tsconfig.json | 13 - packages/svelte/tsconfig.lib.json | 11 - packages/svelte/tsconfig.spec.json | 16 - packages/sveltekit/README.md | 37 - packages/sveltekit/builders.json | 9 - packages/sveltekit/eslint.config.js | 37 - packages/sveltekit/executors.json | 10 - packages/sveltekit/generators.json | 18 - packages/sveltekit/jest.config.ts | 18 - packages/sveltekit/package.json | 34 - packages/sveltekit/project.json | 66 - .../src/executors/add/executor.spec.ts | 37 - .../sveltekit/src/executors/add/executor.ts | 74 - .../sveltekit/src/executors/add/schema.d.ts | 3 - .../sveltekit/src/executors/add/schema.json | 24 - .../src/executors/sveltekit/executor.spec.ts | 37 - .../src/executors/sveltekit/executor.ts | 31 - .../src/executors/sveltekit/schema.d.ts | 4 - .../src/executors/sveltekit/schema.json | 20 - .../files/eslintrc.cjs__template__ | 30 - .../files/package.json__template__ | 8 - .../files/src/app.d.ts__template__ | 9 - .../files/src/app.html__template__ | 12 - .../files/src/index.test.ts__template__ | 7 - .../files/src/routes/+page.svelte__template__ | 2 - .../application/files/static/favicon.ico | Bin 2122 -> 0 bytes .../application/files/static/favicon.png | Bin 2846 -> 0 bytes .../application/files/static/robots.txt | 3 - .../files/svelte.config.js__template__ | 18 - .../files/tsconfig.app.json.template | 10 - .../application/files/tsconfig.json.template | 36 - .../files/tsconfig.spec.json.template | 13 - .../generators/application/generator.spec.ts | 26 - .../src/generators/application/generator.ts | 91 - .../generators/application/lib/add-linting.ts | 46 - .../application/lib/add-project-files.ts | 18 - .../generators/application/lib/add-vite.ts | 15 - .../application/lib/install-dependencies.ts | 18 - .../src/generators/application/lib/targets.ts | 14 - .../application/lib/update-vite-config.ts | 24 - .../src/generators/application/schema.d.ts | 20 - .../src/generators/application/schema.json | 45 - .../generators/component/component.spec.ts | 33 - .../src/generators/component/component.ts | 19 - .../__className__.svelte.template | 7 - .../__fileName__.spec.ts.template | 8 - .../component/lib/add-exports-to-barrel.ts | 79 - .../lib/create-component-in-project.ts | 23 - .../src/generators/component/schema.json | 30 - .../sveltekit/src/generators/utils/lint.ts | 8 - .../sveltekit/src/generators/utils/testing.ts | 32 - .../src/generators/utils/versions.ts | 4 - packages/sveltekit/src/index.ts | 0 packages/sveltekit/tsconfig.json | 13 - packages/sveltekit/tsconfig.lib.json | 11 - packages/sveltekit/tsconfig.spec.json | 16 - packages/vue/.babelrc | 10 - packages/vue/README.md | 41 - packages/vue/eslint.config.js | 36 - packages/vue/generators.json | 47 - packages/vue/jest.config.ts | 16 - packages/vue/package.json | 53 - packages/vue/project.json | 73 - .../application/application.spec.ts | 200 - .../src/generators/application/application.ts | 39 - .../files/base/index.html__template__ | 13 - .../application/files/base/public/favicon.ico | Bin 19175 -> 0 bytes .../files/base/src/App.vue__template__ | 90 - .../files/base/src/assets/logo.svg | 1 - .../base/src/assets/main.css__template__ | 108 - .../components/HelloWorld.spec.ts__template__ | 11 - .../src/components/HelloWorld.vue__template__ | 40 - .../src/components/TheWelcome.vue__template__ | 86 - .../components/WelcomeItem.vue__template__ | 86 - .../icons/IconCommunity.vue__template__ | 7 - .../icons/IconDocumentation.vue__template__ | 7 - .../icons/IconEcosystem.vue__template__ | 7 - .../icons/IconSupport.vue__template__ | 7 - .../icons/IconTooling.vue__template__ | 19 - .../files/base/src/main.ts__template__ | 11 - .../files/base/src/vue-shims.d.ts__template__ | 5 - .../files/base/tsconfig.app.json__template__ | 9 - .../routing/src/router/index.ts__template__ | 23 - .../src/views/AboutView.vue__template__ | 15 - .../src/views/HomeView.vue__template__ | 9 - .../src/generators/application/lib/add-e2e.ts | 53 - .../generators/application/lib/add-linting.ts | 55 - .../generators/application/lib/add-project.ts | 16 - .../generators/application/lib/add-vite.ts | 18 - .../lib/create-application-files.ts | 41 - .../application/lib/normalize-options.ts | 58 - .../application/lib/set-defaults.ts | 43 - .../application/lib/update-vite-config.ts | 24 - .../src/generators/application/schema.d.ts | 27 - .../src/generators/application/schema.json | 73 - .../generators/component/component.spec.ts | 83 - .../vue/src/generators/component/component.ts | 26 - .../__fileName__.spec.ts__template__ | 11 - .../components/__fileName__.vue__template__ | 40 - .../component/lib/add-exports-to-barrel.ts | 38 - .../component/lib/create-component-files.ts | 17 - .../component/lib/normalize-options.ts | 23 - .../vue/src/generators/component/schema.d.ts | 13 - .../vue/src/generators/component/schema.json | 45 - packages/vue/src/generators/init/init.spec.ts | 23 - packages/vue/src/generators/init/init.ts | 68 - packages/vue/src/generators/init/schema.d.ts | 6 - packages/vue/src/generators/init/schema.json | 42 - .../src/generators/library/files/README.md | 7 - .../library/files/src/index.ts__template__ | 0 .../files/src/vue-shims.d.ts__template__ | 5 - .../files/tsconfig.lib.json__template__ | 22 - .../src/generators/library/lib/add-linting.ts | 43 - .../src/generators/library/lib/add-project.ts | 16 - .../library/lib/create-library-files.ts | 32 - .../generators/library/lib/get-import-path.ts | 12 - .../library/lib/normalize-options.ts | 44 - .../library/lib/update-base-tsconfig.ts | 34 - .../library/lib/update-vite-config.ts | 24 - .../src/generators/library/library.spec.ts | 83 - .../vue/src/generators/library/library.ts | 92 - .../vue/src/generators/library/schema.d.ts | 25 - .../vue/src/generators/library/schema.json | 74 - .../vue/src/generators/preset/preset.spec.ts | 33 - packages/vue/src/generators/preset/preset.ts | 16 - .../vue/src/generators/preset/schema.d.ts | 15 - .../vue/src/generators/preset/schema.json | 51 - .../files/postcss.config.js__tmpl__ | 15 - .../files/tailwind.config.js__tmpl__ | 17 - .../lib/add-tailwind-style-imports.ts | 41 - .../src/generators/setup-tailwind/schema.d.ts | 6 - .../src/generators/setup-tailwind/schema.json | 47 - .../setup-tailwind/setup-tailwind.spec.ts | 132 - .../setup-tailwind/setup-tailwind.ts | 64 - .../configuration.spec.ts | 166 - .../storybook-configuration/configuration.ts | 59 - .../storybook-configuration/schema.d.ts | 15 - .../storybook-configuration/schema.json | 81 - .../src/generators/utils/create-ts-config.ts | 39 - .../get-in-source-vitest-tests-template.ts | 17 - packages/vue/src/generators/utils/lint.ts | 30 - packages/vue/src/generators/utils/versions.ts | 11 - .../src/graph/TypeScriptVueImportLocator.ts | 162 - packages/vue/src/graph/processProjectGraph.ts | 91 - packages/vue/src/index.ts | 2 - packages/vue/src/tailwind.ts | 30 - packages/vue/tsconfig.json | 16 - packages/vue/tsconfig.lib.json | 11 - packages/vue/tsconfig.spec.json | 14 - pnpm-lock.yaml | 13759 +++------------- 646 files changed, 2725 insertions(+), 33824 deletions(-) delete mode 100644 e2e/preact-e2e/eslint.config.js delete mode 100644 e2e/preact-e2e/jest.config.ts delete mode 100644 e2e/preact-e2e/project.json delete mode 100644 e2e/preact-e2e/tests/preact.test.ts delete mode 100644 e2e/preact-e2e/tsconfig.json delete mode 100644 e2e/preact-e2e/tsconfig.spec.json delete mode 100644 e2e/solid-e2e/eslint.config.js delete mode 100644 e2e/solid-e2e/jest.config.ts delete mode 100644 e2e/solid-e2e/project.json delete mode 100644 e2e/solid-e2e/tests/solid.test.ts delete mode 100644 e2e/solid-e2e/tsconfig.json delete mode 100644 e2e/solid-e2e/tsconfig.spec.json delete mode 100644 e2e/stencil-e2e/eslint.config.js delete mode 100644 e2e/stencil-e2e/jest.config.ts delete mode 100644 e2e/stencil-e2e/project.json delete mode 100644 e2e/stencil-e2e/tests/application.test.ts delete mode 100644 e2e/stencil-e2e/tests/library.test.ts delete mode 100644 e2e/stencil-e2e/tsconfig.json delete mode 100644 e2e/stencil-e2e/tsconfig.spec.json delete mode 100644 e2e/svelte-e2e/eslint.config.js delete mode 100644 e2e/svelte-e2e/jest.config.ts delete mode 100644 e2e/svelte-e2e/project.json delete mode 100644 e2e/svelte-e2e/tests/application.test.ts delete mode 100644 e2e/svelte-e2e/tests/library.test.ts delete mode 100644 e2e/svelte-e2e/tsconfig.json delete mode 100644 e2e/svelte-e2e/tsconfig.spec.json delete mode 100644 e2e/sveltekit-e2e/eslint.config.js delete mode 100644 e2e/sveltekit-e2e/jest.config.ts delete mode 100644 e2e/sveltekit-e2e/project.json delete mode 100644 e2e/sveltekit-e2e/tests/sveltekit.spec.ts delete mode 100644 e2e/sveltekit-e2e/tsconfig.json delete mode 100644 e2e/sveltekit-e2e/tsconfig.spec.json delete mode 100644 e2e/vue-e2e/eslint.config.js delete mode 100644 e2e/vue-e2e/jest.config.ts delete mode 100644 e2e/vue-e2e/project.json delete mode 100644 e2e/vue-e2e/tests/vue-preset-standalone.spec.ts delete mode 100644 e2e/vue-e2e/tests/vue-preset.spec.ts delete mode 100644 e2e/vue-e2e/tests/vue.spec.ts delete mode 100644 e2e/vue-e2e/tsconfig.json delete mode 100644 e2e/vue-e2e/tsconfig.spec.json delete mode 100644 packages/core/README.md delete mode 100644 packages/core/eslint.config.js delete mode 100644 packages/core/jest.config.ts delete mode 100644 packages/core/package.json delete mode 100644 packages/core/project.json delete mode 100644 packages/core/src/index.ts delete mode 100644 packages/core/src/lib/utils/add-plugin-to-nx-json.ts delete mode 100644 packages/core/src/lib/utils/ast-utils.ts delete mode 100644 packages/core/src/lib/utils/map-lint-pattern.ts delete mode 100644 packages/core/tsconfig.json delete mode 100644 packages/core/tsconfig.lib.json delete mode 100644 packages/core/tsconfig.spec.json delete mode 100644 packages/nuxt/README.md delete mode 100644 packages/nuxt/eslint.config.js delete mode 100644 packages/nuxt/executors.json delete mode 100644 packages/nuxt/generators.json delete mode 100644 packages/nuxt/jest.config.ts delete mode 100644 packages/nuxt/package.json delete mode 100644 packages/nuxt/project.json delete mode 100644 packages/nuxt/src/executors/build/compat.ts delete mode 100644 packages/nuxt/src/executors/build/executor.ts delete mode 100644 packages/nuxt/src/executors/build/schema.d.ts delete mode 100644 packages/nuxt/src/executors/build/schema.json delete mode 100644 packages/nuxt/src/executors/serve/compat.ts delete mode 100644 packages/nuxt/src/executors/serve/executor.ts delete mode 100644 packages/nuxt/src/executors/serve/schema.d.ts delete mode 100644 packages/nuxt/src/executors/serve/schema.json delete mode 100644 packages/nuxt/src/generators/application/application.spec.ts delete mode 100644 packages/nuxt/src/generators/application/application.ts delete mode 100644 packages/nuxt/src/generators/application/files/base/.gitignore__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/nuxt.config.ts__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/nuxt.d.ts__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/src/pages/index.vue__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/src/public/favicon.ico__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/tsconfig.app.json__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/tsconfig.json__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/files/base/tsconfig.spec.json__tmpl__ delete mode 100644 packages/nuxt/src/generators/application/lib/add-e2e.ts delete mode 100644 packages/nuxt/src/generators/application/lib/add-linting.ts delete mode 100644 packages/nuxt/src/generators/application/lib/add-project.ts delete mode 100644 packages/nuxt/src/generators/application/lib/create-application-files.ts delete mode 100644 packages/nuxt/src/generators/application/lib/normalize-options.ts delete mode 100644 packages/nuxt/src/generators/application/lib/set-defaults.ts delete mode 100644 packages/nuxt/src/generators/application/schema.d.ts delete mode 100644 packages/nuxt/src/generators/application/schema.json delete mode 100644 packages/nuxt/src/generators/init/init.ts delete mode 100644 packages/nuxt/src/generators/init/schema.d.ts delete mode 100644 packages/nuxt/src/generators/init/schema.json delete mode 100644 packages/nuxt/src/generators/utils/lint.ts delete mode 100644 packages/nuxt/src/generators/utils/versions.ts delete mode 100644 packages/nuxt/src/index.ts delete mode 100644 packages/nuxt/tsconfig.json delete mode 100644 packages/nuxt/tsconfig.lib.json delete mode 100644 packages/nuxt/tsconfig.spec.json delete mode 100644 packages/preact/README.md delete mode 100644 packages/preact/eslint.config.js delete mode 100644 packages/preact/generators.json delete mode 100644 packages/preact/jest.config.ts delete mode 100644 packages/preact/package.json delete mode 100644 packages/preact/project.json delete mode 100644 packages/preact/src/generators/application/application.spec.ts delete mode 100644 packages/preact/src/generators/application/application.ts delete mode 100644 packages/preact/src/generators/application/files/eslintrc.js.template delete mode 100644 packages/preact/src/generators/application/files/index.html.template delete mode 100644 packages/preact/src/generators/application/files/package.json.template delete mode 100644 packages/preact/src/generators/application/files/public/favicon.svg delete mode 100644 packages/preact/src/generators/application/files/src/App.module.css delete mode 100644 packages/preact/src/generators/application/files/src/App.tsx.template delete mode 100644 packages/preact/src/generators/application/files/src/index.css delete mode 100644 packages/preact/src/generators/application/files/src/index.tsx.template delete mode 100644 packages/preact/src/generators/application/files/src/logo.tsx delete mode 100644 packages/preact/src/generators/application/files/tsconfig.app.json.template delete mode 100644 packages/preact/src/generators/application/files/tsconfig.json.template delete mode 100644 packages/preact/src/generators/application/files/tsconfig.spec.json.template delete mode 100644 packages/preact/src/generators/application/lib/add-cypress.ts delete mode 100644 packages/preact/src/generators/application/lib/add-jest.ts delete mode 100644 packages/preact/src/generators/application/lib/add-linting.ts delete mode 100644 packages/preact/src/generators/application/lib/add-project.ts delete mode 100644 packages/preact/src/generators/application/lib/add-vite.ts delete mode 100644 packages/preact/src/generators/application/lib/create-lint-target.ts delete mode 100644 packages/preact/src/generators/application/lib/update-jest-config.ts delete mode 100644 packages/preact/src/generators/application/lib/update-vite-config.ts delete mode 100644 packages/preact/src/generators/application/schema.d.ts delete mode 100644 packages/preact/src/generators/application/schema.json delete mode 100644 packages/preact/src/generators/component/component.spec.ts delete mode 100644 packages/preact/src/generators/component/component.ts delete mode 100644 packages/preact/src/generators/component/files/src/components/__fileName__/__className__.tsx.template delete mode 100644 packages/preact/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template delete mode 100644 packages/preact/src/generators/component/lib/add-exports-to-barrel.ts delete mode 100644 packages/preact/src/generators/component/lib/create-component-in-project.ts delete mode 100644 packages/preact/src/generators/component/schema.json delete mode 100644 packages/preact/src/generators/init/init.spec.ts delete mode 100644 packages/preact/src/generators/init/init.ts delete mode 100644 packages/preact/src/generators/init/lib/add-cypress-plugin.ts delete mode 100644 packages/preact/src/generators/init/lib/add-dependencies.ts delete mode 100644 packages/preact/src/generators/init/lib/add-jest-plugin.ts delete mode 100644 packages/preact/src/generators/init/schema.d.ts delete mode 100644 packages/preact/src/generators/init/schema.json delete mode 100644 packages/preact/src/generators/library/files/eslintrc.js.template delete mode 100644 packages/preact/src/generators/library/files/package.json.template delete mode 100644 packages/preact/src/generators/library/files/src/index.ts.template delete mode 100644 packages/preact/src/generators/library/files/tsconfig.json.template delete mode 100644 packages/preact/src/generators/library/files/tsconfig.lib.json.template delete mode 100644 packages/preact/src/generators/library/files/tsconfig.spec.json.template delete mode 100644 packages/preact/src/generators/library/lib/add-jest.ts delete mode 100644 packages/preact/src/generators/library/lib/add-linting.ts delete mode 100644 packages/preact/src/generators/library/lib/add-project.ts delete mode 100644 packages/preact/src/generators/library/lib/add-vite.ts delete mode 100644 packages/preact/src/generators/library/lib/add-vitest.ts delete mode 100644 packages/preact/src/generators/library/lib/update-jest-config.ts delete mode 100644 packages/preact/src/generators/library/lib/update-tsconfig.ts delete mode 100644 packages/preact/src/generators/library/lib/update-vite-config.ts delete mode 100644 packages/preact/src/generators/library/library.spec.ts delete mode 100644 packages/preact/src/generators/library/library.ts delete mode 100644 packages/preact/src/generators/library/schema.d.ts delete mode 100644 packages/preact/src/generators/library/schema.json delete mode 100644 packages/preact/src/generators/utils/lint.ts delete mode 100644 packages/preact/src/generators/utils/testing.ts delete mode 100644 packages/preact/src/generators/utils/versions.ts delete mode 100644 packages/preact/src/index.ts delete mode 100644 packages/preact/tsconfig.json delete mode 100644 packages/preact/tsconfig.lib.json delete mode 100644 packages/preact/tsconfig.spec.json delete mode 100644 packages/solid/README.md delete mode 100644 packages/solid/eslint.config.js delete mode 100644 packages/solid/generators.json delete mode 100644 packages/solid/jest.config.ts delete mode 100644 packages/solid/migrations.json delete mode 100644 packages/solid/package.json delete mode 100644 packages/solid/project.json delete mode 100644 packages/solid/src/generators/application/application.spec.ts delete mode 100644 packages/solid/src/generators/application/application.ts delete mode 100644 packages/solid/src/generators/application/files/eslintrc.js.template delete mode 100644 packages/solid/src/generators/application/files/index.html.template delete mode 100644 packages/solid/src/generators/application/files/package.json.template delete mode 100644 packages/solid/src/generators/application/files/public/favicon.ico delete mode 100644 packages/solid/src/generators/application/files/src/App.module.css.template delete mode 100644 packages/solid/src/generators/application/files/src/App.tsx.template delete mode 100644 packages/solid/src/generators/application/files/src/index.css.template delete mode 100644 packages/solid/src/generators/application/files/src/index.tsx.template delete mode 100644 packages/solid/src/generators/application/files/src/logo.svg delete mode 100644 packages/solid/src/generators/application/files/tsconfig.app.json.template delete mode 100644 packages/solid/src/generators/application/files/tsconfig.json.template delete mode 100644 packages/solid/src/generators/application/files/tsconfig.spec.json.template delete mode 100644 packages/solid/src/generators/application/lib/add-cypress.ts delete mode 100644 packages/solid/src/generators/application/lib/add-jest.ts delete mode 100644 packages/solid/src/generators/application/lib/add-linting.ts delete mode 100644 packages/solid/src/generators/application/lib/add-project.ts delete mode 100644 packages/solid/src/generators/application/lib/add-vite.ts delete mode 100644 packages/solid/src/generators/application/lib/create-project-files.ts delete mode 100644 packages/solid/src/generators/application/lib/update-jest-config.ts delete mode 100644 packages/solid/src/generators/application/lib/update-vite-config.ts delete mode 100644 packages/solid/src/generators/application/schema.d.ts delete mode 100644 packages/solid/src/generators/application/schema.json delete mode 100644 packages/solid/src/generators/component/component.spec.ts delete mode 100644 packages/solid/src/generators/component/component.ts delete mode 100644 packages/solid/src/generators/component/files/src/components/__fileName__/__className__.tsx.template delete mode 100644 packages/solid/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template delete mode 100644 packages/solid/src/generators/component/lib/add-exports-to-barrel.ts delete mode 100644 packages/solid/src/generators/component/lib/create-component-in-project.ts delete mode 100644 packages/solid/src/generators/component/schema.json delete mode 100644 packages/solid/src/generators/init/init.spec.ts delete mode 100644 packages/solid/src/generators/init/init.ts delete mode 100644 packages/solid/src/generators/init/lib/add-cypress-plugin.ts delete mode 100644 packages/solid/src/generators/init/lib/add-dependencies.ts delete mode 100644 packages/solid/src/generators/init/lib/add-jest-plugin.ts delete mode 100644 packages/solid/src/generators/init/schema.d.ts delete mode 100644 packages/solid/src/generators/init/schema.json delete mode 100644 packages/solid/src/generators/library/files/eslintrc.js.template delete mode 100644 packages/solid/src/generators/library/files/package.json.template delete mode 100644 packages/solid/src/generators/library/files/src/index.ts.template delete mode 100644 packages/solid/src/generators/library/files/tsconfig.json.template delete mode 100644 packages/solid/src/generators/library/files/tsconfig.lib.json.template delete mode 100644 packages/solid/src/generators/library/files/tsconfig.spec.json.template delete mode 100644 packages/solid/src/generators/library/lib/add-jest.ts delete mode 100644 packages/solid/src/generators/library/lib/add-linting.ts delete mode 100644 packages/solid/src/generators/library/lib/add-project.ts delete mode 100644 packages/solid/src/generators/library/lib/add-vite.ts delete mode 100644 packages/solid/src/generators/library/lib/add-vitest.ts delete mode 100644 packages/solid/src/generators/library/lib/create-project-files.ts delete mode 100644 packages/solid/src/generators/library/lib/update-jest-config.ts delete mode 100644 packages/solid/src/generators/library/lib/update-tsconfig.ts delete mode 100644 packages/solid/src/generators/library/lib/update-vite-config.ts delete mode 100644 packages/solid/src/generators/library/library.spec.ts delete mode 100644 packages/solid/src/generators/library/library.ts delete mode 100644 packages/solid/src/generators/library/schema.d.ts delete mode 100644 packages/solid/src/generators/library/schema.json delete mode 100644 packages/solid/src/generators/utils/lint.ts delete mode 100644 packages/solid/src/generators/utils/testing.ts delete mode 100644 packages/solid/src/generators/utils/versions.ts delete mode 100644 packages/solid/src/index.ts delete mode 100644 packages/solid/tsconfig.json delete mode 100644 packages/solid/tsconfig.lib.json delete mode 100644 packages/solid/tsconfig.spec.json delete mode 100644 packages/stencil/README.md delete mode 100644 packages/stencil/eslint.config.js delete mode 100644 packages/stencil/executors.json delete mode 100644 packages/stencil/generators.json delete mode 100644 packages/stencil/jest.config.ts delete mode 100644 packages/stencil/migrations.json delete mode 100644 packages/stencil/package.json delete mode 100644 packages/stencil/project.json delete mode 100644 packages/stencil/src/executors/build/compat.ts delete mode 100644 packages/stencil/src/executors/build/executor.ts delete mode 100644 packages/stencil/src/executors/build/schema.d.ts delete mode 100644 packages/stencil/src/executors/build/schema.json delete mode 100644 packages/stencil/src/executors/e2e/compat.ts delete mode 100644 packages/stencil/src/executors/e2e/executor.ts delete mode 100644 packages/stencil/src/executors/e2e/schema.d.ts delete mode 100644 packages/stencil/src/executors/e2e/schema.json delete mode 100644 packages/stencil/src/executors/serve/compat.ts delete mode 100644 packages/stencil/src/executors/serve/executor.ts delete mode 100644 packages/stencil/src/executors/serve/schema.d.ts delete mode 100644 packages/stencil/src/executors/serve/schema.json delete mode 100644 packages/stencil/src/executors/stencil-runtime/e2e-testing.ts delete mode 100644 packages/stencil/src/executors/stencil-runtime/index.ts delete mode 100644 packages/stencil/src/executors/stencil-runtime/prepare-config-and-outputarget-paths.ts delete mode 100644 packages/stencil/src/executors/stencil-runtime/stencil-config.ts delete mode 100644 packages/stencil/src/executors/stencil-runtime/stencil-parameters.ts delete mode 100644 packages/stencil/src/executors/stencil-runtime/stencil-process.ts delete mode 100644 packages/stencil/src/executors/stencil-runtime/types.ts delete mode 100644 packages/stencil/src/executors/test/compat.ts delete mode 100644 packages/stencil/src/executors/test/executor.ts delete mode 100644 packages/stencil/src/executors/test/schema.d.ts delete mode 100644 packages/stencil/src/executors/test/schema.json delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-angular/generator.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-outputtarget-angular.spec.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-outputtarget-react.spec.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-outputtarget-svelte.spec.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-outputtarget-vue.spec.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-outputtarget.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-react/generator.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-svelte/generator.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/add-vue/generator.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/lib/calculate-stencil-source-options.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/schema.d.ts delete mode 100644 packages/stencil/src/generators/add-outputtarget/schema.json delete mode 100644 packages/stencil/src/generators/application/files/app/LICENSE.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/assets/icon/favicon.ico delete mode 100644 packages/stencil/src/generators/application/files/app/src/assets/icon/icon.png delete mode 100644 packages/stencil/src/generators/application/files/app/src/components.d.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.__style__.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.e2e.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.tsx.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.__style__.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.e2e.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.spec.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.tsx.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.__style__.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.e2e.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.tsx.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/global/app.__style__.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/global/app.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/index.html.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/index.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/src/manifest.json.template delete mode 100644 packages/stencil/src/generators/application/files/app/stencil.config.ts.template delete mode 100644 packages/stencil/src/generators/application/files/app/tsconfig.app.json.template delete mode 100644 packages/stencil/src/generators/application/files/app/tsconfig.json.template delete mode 100644 packages/stencil/src/generators/application/generator.spec.ts delete mode 100644 packages/stencil/src/generators/application/generator.ts delete mode 100644 packages/stencil/src/generators/application/lib/add-cypress.ts delete mode 100644 packages/stencil/src/generators/application/lib/add-linting.ts delete mode 100644 packages/stencil/src/generators/application/lib/add-project.ts delete mode 100644 packages/stencil/src/generators/application/schema.d.ts delete mode 100644 packages/stencil/src/generators/application/schema.json delete mode 100644 packages/stencil/src/generators/component/component.spec.ts delete mode 100644 packages/stencil/src/generators/component/component.ts delete mode 100644 packages/stencil/src/generators/component/files/component/__componentFileName__.__style__.template delete mode 100644 packages/stencil/src/generators/component/files/component/__componentFileName__.e2e.ts.template delete mode 100644 packages/stencil/src/generators/component/files/component/__componentFileName__.spec.tsx.template delete mode 100644 packages/stencil/src/generators/component/files/component/__componentFileName__.stories.tsx.template delete mode 100644 packages/stencil/src/generators/component/files/component/__componentFileName__.tsx.template delete mode 100644 packages/stencil/src/generators/component/schema.json delete mode 100644 packages/stencil/src/generators/init/init.spec.ts delete mode 100644 packages/stencil/src/generators/init/init.ts delete mode 100644 packages/stencil/src/generators/init/lib/add-cypress.ts delete mode 100644 packages/stencil/src/generators/init/lib/add-dependencies-for-apptype.ts delete mode 100644 packages/stencil/src/generators/init/lib/add-e2e-dependencies.ts delete mode 100644 packages/stencil/src/generators/init/lib/add-jest.ts delete mode 100644 packages/stencil/src/generators/init/lib/add-style-module-dependencies.ts delete mode 100644 packages/stencil/src/generators/init/schema.d.ts delete mode 100644 packages/stencil/src/generators/init/schema.json delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/LICENSE.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/apple-touch-icon.png delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/favicon.ico delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/icon192.png delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/icon512.png delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components.d.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.__style__.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.e2e.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.spec.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.tsx.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.__style__.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.e2e.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.spec.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.tsx.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.__style__.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.e2e.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.tsx.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.__style__.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/index.html.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/interfaces.d.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/src/manifest.json.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/stencil.config.ts.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.app.json.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.json.template delete mode 100644 packages/stencil/src/generators/ionic-pwa/generator.spec.ts delete mode 100644 packages/stencil/src/generators/ionic-pwa/generator.ts delete mode 100644 packages/stencil/src/generators/ionic-pwa/lib/add-linting.ts delete mode 100644 packages/stencil/src/generators/ionic-pwa/lib/add-project.ts delete mode 100644 packages/stencil/src/generators/ionic-pwa/schema.d.ts delete mode 100644 packages/stencil/src/generators/ionic-pwa/schema.json delete mode 100644 packages/stencil/src/generators/library/files/lib/LICENSE.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/components.d.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.__style__.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.e2e.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.spec.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.tsx.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/components/my-component/readme.md.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/index.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/utils/utils.spec.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/src/utils/utils.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/stencil.config.ts.template delete mode 100644 packages/stencil/src/generators/library/files/lib/tsconfig.json.template delete mode 100644 packages/stencil/src/generators/library/files/lib/tsconfig.lib.json.template delete mode 100644 packages/stencil/src/generators/library/generator.spec.ts delete mode 100644 packages/stencil/src/generators/library/generator.ts delete mode 100644 packages/stencil/src/generators/library/lib/add-linting.ts delete mode 100644 packages/stencil/src/generators/library/lib/add-project.ts delete mode 100644 packages/stencil/src/generators/library/lib/update-tsconfig.ts delete mode 100644 packages/stencil/src/generators/library/schema.d.ts delete mode 100644 packages/stencil/src/generators/library/schema.json delete mode 100644 packages/stencil/src/generators/make-lib-buildable/files/lib/package.json.template delete mode 100644 packages/stencil/src/generators/make-lib-buildable/files/lib/src/index.html.template delete mode 100644 packages/stencil/src/generators/make-lib-buildable/lib/update-tsconfig.ts delete mode 100644 packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.spec.ts delete mode 100644 packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.ts delete mode 100644 packages/stencil/src/generators/make-lib-buildable/schema.d.ts delete mode 100644 packages/stencil/src/generators/make-lib-buildable/schema.json delete mode 100644 packages/stencil/src/generators/storybook-configuration/generator.spec.ts delete mode 100644 packages/stencil/src/generators/storybook-configuration/generator.ts delete mode 100644 packages/stencil/src/generators/storybook-configuration/lib/add-dependencies.ts delete mode 100644 packages/stencil/src/generators/storybook-configuration/lib/update-lint-config.ts delete mode 100644 packages/stencil/src/generators/storybook-configuration/project-files/.babelrc.json delete mode 100644 packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/main.ts__tmpl__ delete mode 100644 packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-body.html delete mode 100644 packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-head.html delete mode 100644 packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview.ts__tmpl__ delete mode 100644 packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/tsconfig.json__tmpl__ delete mode 100644 packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/main.ts__tmpl__ delete mode 100644 packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/utils/webpack-module-rules.ts__tmpl__ delete mode 100644 packages/stencil/src/generators/storybook-configuration/root-files/babel.config.json delete mode 100644 packages/stencil/src/generators/storybook-configuration/schema.d.ts delete mode 100644 packages/stencil/src/generators/storybook-configuration/schema.json delete mode 100644 packages/stencil/src/index.ts delete mode 100644 packages/stencil/src/migrations/utils/migration-utils.ts delete mode 100644 packages/stencil/src/stencil-core-utils/index.ts delete mode 100644 packages/stencil/src/stencil-core-utils/lib/plugins.ts delete mode 100644 packages/stencil/src/stencil-core-utils/lib/style-plugins.ts delete mode 100644 packages/stencil/src/utils/angular-ast-utils.ts delete mode 100644 packages/stencil/src/utils/ast-utils.ts delete mode 100644 packages/stencil/src/utils/fileutils.ts delete mode 100644 packages/stencil/src/utils/insert-statement.ts delete mode 100644 packages/stencil/src/utils/lint.ts delete mode 100644 packages/stencil/src/utils/normalize-path.ts delete mode 100644 packages/stencil/src/utils/targets.ts delete mode 100644 packages/stencil/src/utils/testing.ts delete mode 100644 packages/stencil/src/utils/typings.ts delete mode 100644 packages/stencil/src/utils/utillities.ts delete mode 100644 packages/stencil/src/utils/versions.ts delete mode 100644 packages/stencil/tsconfig.json delete mode 100644 packages/stencil/tsconfig.lib.json delete mode 100644 packages/stencil/tsconfig.spec.json delete mode 100644 packages/svelte/README.md delete mode 100644 packages/svelte/eslint.config.js delete mode 100644 packages/svelte/generators.json delete mode 100644 packages/svelte/jest.config.ts delete mode 100644 packages/svelte/package.json delete mode 100644 packages/svelte/project.json delete mode 100644 packages/svelte/src/generators/application/application.spec.ts delete mode 100644 packages/svelte/src/generators/application/application.ts delete mode 100644 packages/svelte/src/generators/application/files/eslintrc.js.template delete mode 100644 packages/svelte/src/generators/application/files/index.html.template delete mode 100644 packages/svelte/src/generators/application/files/package.json.template delete mode 100644 packages/svelte/src/generators/application/files/public/favicon.png delete mode 100644 packages/svelte/src/generators/application/files/public/global.css.template delete mode 100644 packages/svelte/src/generators/application/files/src/App.svelte.template delete mode 100644 packages/svelte/src/generators/application/files/src/main.ts.template delete mode 100644 packages/svelte/src/generators/application/files/svelte.config.cjs.template delete mode 100644 packages/svelte/src/generators/application/files/tsconfig.app.json.template delete mode 100644 packages/svelte/src/generators/application/files/tsconfig.spec.json.template delete mode 100644 packages/svelte/src/generators/application/lib/add-cypress.ts delete mode 100644 packages/svelte/src/generators/application/lib/add-jest.ts delete mode 100644 packages/svelte/src/generators/application/lib/add-linting.ts delete mode 100644 packages/svelte/src/generators/application/lib/add-project.ts delete mode 100644 packages/svelte/src/generators/application/lib/add-vite.ts delete mode 100644 packages/svelte/src/generators/application/lib/create-project-files.ts delete mode 100644 packages/svelte/src/generators/application/lib/normalize-options.ts delete mode 100644 packages/svelte/src/generators/application/lib/update-jest-config.ts delete mode 100644 packages/svelte/src/generators/application/lib/update-vite-config.ts delete mode 100644 packages/svelte/src/generators/application/schema.d.ts delete mode 100644 packages/svelte/src/generators/application/schema.json delete mode 100644 packages/svelte/src/generators/component/component.spec.ts delete mode 100644 packages/svelte/src/generators/component/component.ts delete mode 100644 packages/svelte/src/generators/component/files/src/components/__fileName__/__className__.svelte.template delete mode 100644 packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.spec.ts.template delete mode 100644 packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.stories.ts.template delete mode 100644 packages/svelte/src/generators/component/lib/add-exports-to-barrel.ts delete mode 100644 packages/svelte/src/generators/component/lib/create-component-in-project.ts delete mode 100644 packages/svelte/src/generators/component/schema.json delete mode 100644 packages/svelte/src/generators/init/init.spec.ts delete mode 100644 packages/svelte/src/generators/init/init.ts delete mode 100644 packages/svelte/src/generators/init/lib/add-cypress-plugin.ts delete mode 100644 packages/svelte/src/generators/init/lib/add-dependencies.ts delete mode 100644 packages/svelte/src/generators/init/lib/add-jest-plugin.ts delete mode 100644 packages/svelte/src/generators/init/lib/add-linter-plugin.ts delete mode 100644 packages/svelte/src/generators/init/schema.d.ts delete mode 100644 packages/svelte/src/generators/init/schema.json delete mode 100644 packages/svelte/src/generators/library/files/eslintrc.js.template delete mode 100644 packages/svelte/src/generators/library/files/package.json.template delete mode 100644 packages/svelte/src/generators/library/files/src/index.ts.template delete mode 100644 packages/svelte/src/generators/library/files/svelte.config.cjs.template delete mode 100644 packages/svelte/src/generators/library/files/tsconfig.lib.json.template delete mode 100644 packages/svelte/src/generators/library/files/tsconfig.spec.json.template delete mode 100644 packages/svelte/src/generators/library/lib/add-jest.ts delete mode 100644 packages/svelte/src/generators/library/lib/add-linting.ts delete mode 100644 packages/svelte/src/generators/library/lib/add-project.ts delete mode 100644 packages/svelte/src/generators/library/lib/add-vite.ts delete mode 100644 packages/svelte/src/generators/library/lib/add-vitest.ts delete mode 100644 packages/svelte/src/generators/library/lib/create-project-files.ts delete mode 100644 packages/svelte/src/generators/library/lib/normalize-options.ts delete mode 100644 packages/svelte/src/generators/library/lib/update-jest-config.ts delete mode 100644 packages/svelte/src/generators/library/lib/update-tsconfig.ts delete mode 100644 packages/svelte/src/generators/library/lib/update-vite-config.ts delete mode 100644 packages/svelte/src/generators/library/library.spec.ts delete mode 100644 packages/svelte/src/generators/library/library.ts delete mode 100644 packages/svelte/src/generators/library/schema.d.ts delete mode 100644 packages/svelte/src/generators/library/schema.json delete mode 100644 packages/svelte/src/generators/storybook-configuration/configuration.spec.ts delete mode 100644 packages/svelte/src/generators/storybook-configuration/configuration.ts delete mode 100644 packages/svelte/src/generators/storybook-configuration/lib/update-main-js.ts delete mode 100644 packages/svelte/src/generators/storybook-configuration/schema.d.ts delete mode 100644 packages/svelte/src/generators/storybook-configuration/schema.json delete mode 100644 packages/svelte/src/generators/utils/add-plugin-to-nx-json.ts delete mode 100644 packages/svelte/src/generators/utils/create-ts-config.ts delete mode 100644 packages/svelte/src/generators/utils/lint.ts delete mode 100644 packages/svelte/src/generators/utils/targets.ts delete mode 100644 packages/svelte/src/generators/utils/testing.ts delete mode 100644 packages/svelte/src/generators/utils/versions.ts delete mode 100644 packages/svelte/src/graph/TypeScriptSvelteImportLocator.ts delete mode 100644 packages/svelte/src/graph/processProjectGraph.ts delete mode 100644 packages/svelte/src/index.ts delete mode 100644 packages/svelte/src/migrations/utils/migration-utils.ts delete mode 100644 packages/svelte/tsconfig.json delete mode 100644 packages/svelte/tsconfig.lib.json delete mode 100644 packages/svelte/tsconfig.spec.json delete mode 100644 packages/sveltekit/README.md delete mode 100644 packages/sveltekit/builders.json delete mode 100644 packages/sveltekit/eslint.config.js delete mode 100644 packages/sveltekit/executors.json delete mode 100644 packages/sveltekit/generators.json delete mode 100644 packages/sveltekit/jest.config.ts delete mode 100644 packages/sveltekit/package.json delete mode 100644 packages/sveltekit/project.json delete mode 100644 packages/sveltekit/src/executors/add/executor.spec.ts delete mode 100644 packages/sveltekit/src/executors/add/executor.ts delete mode 100644 packages/sveltekit/src/executors/add/schema.d.ts delete mode 100644 packages/sveltekit/src/executors/add/schema.json delete mode 100644 packages/sveltekit/src/executors/sveltekit/executor.spec.ts delete mode 100644 packages/sveltekit/src/executors/sveltekit/executor.ts delete mode 100644 packages/sveltekit/src/executors/sveltekit/schema.d.ts delete mode 100644 packages/sveltekit/src/executors/sveltekit/schema.json delete mode 100644 packages/sveltekit/src/generators/application/files/eslintrc.cjs__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/package.json__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/src/app.d.ts__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/src/app.html__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/src/index.test.ts__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/src/routes/+page.svelte__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/static/favicon.ico delete mode 100644 packages/sveltekit/src/generators/application/files/static/favicon.png delete mode 100644 packages/sveltekit/src/generators/application/files/static/robots.txt delete mode 100644 packages/sveltekit/src/generators/application/files/svelte.config.js__template__ delete mode 100644 packages/sveltekit/src/generators/application/files/tsconfig.app.json.template delete mode 100644 packages/sveltekit/src/generators/application/files/tsconfig.json.template delete mode 100644 packages/sveltekit/src/generators/application/files/tsconfig.spec.json.template delete mode 100644 packages/sveltekit/src/generators/application/generator.spec.ts delete mode 100644 packages/sveltekit/src/generators/application/generator.ts delete mode 100644 packages/sveltekit/src/generators/application/lib/add-linting.ts delete mode 100644 packages/sveltekit/src/generators/application/lib/add-project-files.ts delete mode 100644 packages/sveltekit/src/generators/application/lib/add-vite.ts delete mode 100644 packages/sveltekit/src/generators/application/lib/install-dependencies.ts delete mode 100644 packages/sveltekit/src/generators/application/lib/targets.ts delete mode 100644 packages/sveltekit/src/generators/application/lib/update-vite-config.ts delete mode 100644 packages/sveltekit/src/generators/application/schema.d.ts delete mode 100644 packages/sveltekit/src/generators/application/schema.json delete mode 100644 packages/sveltekit/src/generators/component/component.spec.ts delete mode 100644 packages/sveltekit/src/generators/component/component.ts delete mode 100644 packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__className__.svelte.template delete mode 100644 packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__fileName__.spec.ts.template delete mode 100644 packages/sveltekit/src/generators/component/lib/add-exports-to-barrel.ts delete mode 100644 packages/sveltekit/src/generators/component/lib/create-component-in-project.ts delete mode 100644 packages/sveltekit/src/generators/component/schema.json delete mode 100644 packages/sveltekit/src/generators/utils/lint.ts delete mode 100644 packages/sveltekit/src/generators/utils/testing.ts delete mode 100644 packages/sveltekit/src/generators/utils/versions.ts delete mode 100644 packages/sveltekit/src/index.ts delete mode 100644 packages/sveltekit/tsconfig.json delete mode 100644 packages/sveltekit/tsconfig.lib.json delete mode 100644 packages/sveltekit/tsconfig.spec.json delete mode 100644 packages/vue/.babelrc delete mode 100644 packages/vue/README.md delete mode 100644 packages/vue/eslint.config.js delete mode 100644 packages/vue/generators.json delete mode 100644 packages/vue/jest.config.ts delete mode 100644 packages/vue/package.json delete mode 100644 packages/vue/project.json delete mode 100644 packages/vue/src/generators/application/application.spec.ts delete mode 100644 packages/vue/src/generators/application/application.ts delete mode 100644 packages/vue/src/generators/application/files/base/index.html__template__ delete mode 100644 packages/vue/src/generators/application/files/base/public/favicon.ico delete mode 100644 packages/vue/src/generators/application/files/base/src/App.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/assets/logo.svg delete mode 100644 packages/vue/src/generators/application/files/base/src/assets/main.css__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/HelloWorld.spec.ts__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/HelloWorld.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/TheWelcome.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/WelcomeItem.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/icons/IconCommunity.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/icons/IconDocumentation.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/icons/IconEcosystem.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/icons/IconSupport.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/components/icons/IconTooling.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/main.ts__template__ delete mode 100644 packages/vue/src/generators/application/files/base/src/vue-shims.d.ts__template__ delete mode 100644 packages/vue/src/generators/application/files/base/tsconfig.app.json__template__ delete mode 100644 packages/vue/src/generators/application/files/routing/src/router/index.ts__template__ delete mode 100644 packages/vue/src/generators/application/files/routing/src/views/AboutView.vue__template__ delete mode 100644 packages/vue/src/generators/application/files/routing/src/views/HomeView.vue__template__ delete mode 100644 packages/vue/src/generators/application/lib/add-e2e.ts delete mode 100644 packages/vue/src/generators/application/lib/add-linting.ts delete mode 100644 packages/vue/src/generators/application/lib/add-project.ts delete mode 100644 packages/vue/src/generators/application/lib/add-vite.ts delete mode 100644 packages/vue/src/generators/application/lib/create-application-files.ts delete mode 100644 packages/vue/src/generators/application/lib/normalize-options.ts delete mode 100644 packages/vue/src/generators/application/lib/set-defaults.ts delete mode 100644 packages/vue/src/generators/application/lib/update-vite-config.ts delete mode 100644 packages/vue/src/generators/application/schema.d.ts delete mode 100644 packages/vue/src/generators/application/schema.json delete mode 100644 packages/vue/src/generators/component/component.spec.ts delete mode 100644 packages/vue/src/generators/component/component.ts delete mode 100644 packages/vue/src/generators/component/files/src/components/__fileName__.spec.ts__template__ delete mode 100644 packages/vue/src/generators/component/files/src/components/__fileName__.vue__template__ delete mode 100644 packages/vue/src/generators/component/lib/add-exports-to-barrel.ts delete mode 100644 packages/vue/src/generators/component/lib/create-component-files.ts delete mode 100644 packages/vue/src/generators/component/lib/normalize-options.ts delete mode 100644 packages/vue/src/generators/component/schema.d.ts delete mode 100644 packages/vue/src/generators/component/schema.json delete mode 100644 packages/vue/src/generators/init/init.spec.ts delete mode 100644 packages/vue/src/generators/init/init.ts delete mode 100644 packages/vue/src/generators/init/schema.d.ts delete mode 100644 packages/vue/src/generators/init/schema.json delete mode 100644 packages/vue/src/generators/library/files/README.md delete mode 100644 packages/vue/src/generators/library/files/src/index.ts__template__ delete mode 100644 packages/vue/src/generators/library/files/src/vue-shims.d.ts__template__ delete mode 100644 packages/vue/src/generators/library/files/tsconfig.lib.json__template__ delete mode 100644 packages/vue/src/generators/library/lib/add-linting.ts delete mode 100644 packages/vue/src/generators/library/lib/add-project.ts delete mode 100644 packages/vue/src/generators/library/lib/create-library-files.ts delete mode 100644 packages/vue/src/generators/library/lib/get-import-path.ts delete mode 100644 packages/vue/src/generators/library/lib/normalize-options.ts delete mode 100644 packages/vue/src/generators/library/lib/update-base-tsconfig.ts delete mode 100644 packages/vue/src/generators/library/lib/update-vite-config.ts delete mode 100644 packages/vue/src/generators/library/library.spec.ts delete mode 100644 packages/vue/src/generators/library/library.ts delete mode 100644 packages/vue/src/generators/library/schema.d.ts delete mode 100644 packages/vue/src/generators/library/schema.json delete mode 100644 packages/vue/src/generators/preset/preset.spec.ts delete mode 100644 packages/vue/src/generators/preset/preset.ts delete mode 100644 packages/vue/src/generators/preset/schema.d.ts delete mode 100644 packages/vue/src/generators/preset/schema.json delete mode 100644 packages/vue/src/generators/setup-tailwind/files/postcss.config.js__tmpl__ delete mode 100644 packages/vue/src/generators/setup-tailwind/files/tailwind.config.js__tmpl__ delete mode 100644 packages/vue/src/generators/setup-tailwind/lib/add-tailwind-style-imports.ts delete mode 100644 packages/vue/src/generators/setup-tailwind/schema.d.ts delete mode 100644 packages/vue/src/generators/setup-tailwind/schema.json delete mode 100644 packages/vue/src/generators/setup-tailwind/setup-tailwind.spec.ts delete mode 100644 packages/vue/src/generators/setup-tailwind/setup-tailwind.ts delete mode 100644 packages/vue/src/generators/storybook-configuration/configuration.spec.ts delete mode 100644 packages/vue/src/generators/storybook-configuration/configuration.ts delete mode 100644 packages/vue/src/generators/storybook-configuration/schema.d.ts delete mode 100644 packages/vue/src/generators/storybook-configuration/schema.json delete mode 100644 packages/vue/src/generators/utils/create-ts-config.ts delete mode 100644 packages/vue/src/generators/utils/get-in-source-vitest-tests-template.ts delete mode 100644 packages/vue/src/generators/utils/lint.ts delete mode 100644 packages/vue/src/generators/utils/versions.ts delete mode 100644 packages/vue/src/graph/TypeScriptVueImportLocator.ts delete mode 100644 packages/vue/src/graph/processProjectGraph.ts delete mode 100644 packages/vue/src/index.ts delete mode 100644 packages/vue/src/tailwind.ts delete mode 100644 packages/vue/tsconfig.json delete mode 100644 packages/vue/tsconfig.lib.json delete mode 100644 packages/vue/tsconfig.spec.json diff --git a/e2e/preact-e2e/eslint.config.js b/e2e/preact-e2e/eslint.config.js deleted file mode 100644 index c9ad34f21..000000000 --- a/e2e/preact-e2e/eslint.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); -module.exports = [ - ...baseConfig, - { - files: [ - 'e2e/preact-e2e/**/*.ts', - 'e2e/preact-e2e/**/*.tsx', - 'e2e/preact-e2e/**/*.js', - 'e2e/preact-e2e/**/*.jsx', - ], - rules: {}, - }, - { - files: ['e2e/preact-e2e/**/*.ts', 'e2e/preact-e2e/**/*.tsx'], - rules: {}, - }, - { - files: ['e2e/preact-e2e/**/*.js', 'e2e/preact-e2e/**/*.jsx'], - rules: {}, - }, -]; diff --git a/e2e/preact-e2e/jest.config.ts b/e2e/preact-e2e/jest.config.ts deleted file mode 100644 index c3366e37a..000000000 --- a/e2e/preact-e2e/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default { - displayName: 'preact-e2e', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/e2e/preact-e2e', - globalSetup: '../../tools/scripts/start-local-registry.ts', - globalTeardown: '../../tools/scripts/stop-local-registry.ts', -}; diff --git a/e2e/preact-e2e/project.json b/e2e/preact-e2e/project.json deleted file mode 100644 index f26695fa6..000000000 --- a/e2e/preact-e2e/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "preact-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "e2e/preact-e2e/src", - "targets": { - "e2e": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "e2e/preact-e2e/jest.config.ts", - "passWithNoTests": true, - "runInBand": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - }, - "dependsOn": ["^build"] - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["e2e/preact-e2e/**/*.ts"] - } - } - }, - "tags": [], - "implicitDependencies": ["preact"] -} diff --git a/e2e/preact-e2e/tests/preact.test.ts b/e2e/preact-e2e/tests/preact.test.ts deleted file mode 100644 index f7c15bb6a..000000000 --- a/e2e/preact-e2e/tests/preact.test.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { checkFilesExist, runNxCommandAsync, uniq } from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -describe('preact e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'preact'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('preact app', () => { - xit('should build preact application', async () => { - const plugin = uniq('preact'); - await runNxCommandAsync(`generate @nxext/preact:app ${plugin}`); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${plugin}` - ); - }); - - it('should generate app into directory', async () => { - await runNxCommandAsync(`generate @nxext/preact:app project/ui`); - expect(() => - checkFilesExist(`apps/project/ui/src/App.tsx`) - ).not.toThrow(); - }); - - it('should be able to run linter', async () => { - const plugin = uniq('preactlint'); - await runNxCommandAsync(`generate @nxext/preact:app ${plugin}`); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - }); - - describe('preact lib', () => { - it('should generate lib into directory', async () => { - await runNxCommandAsync(`generate @nxext/preact:lib project/uilib`); - expect(() => - checkFilesExist(`libs/project/uilib/src/index.ts`) - ).not.toThrow(); - }); - - it('should be able to run linter', async () => { - const plugin = uniq('preactliblint'); - await runNxCommandAsync(`generate @nxext/preact:lib ${plugin}`); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - - it('should be able build lib if buildable', async () => { - const plugin = uniq('preactlib'); - await runNxCommandAsync( - `generate @nxext/preact:lib ${plugin} --buildable` - ); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${plugin}` - ); - }); - }); -}); diff --git a/e2e/preact-e2e/tsconfig.json b/e2e/preact-e2e/tsconfig.json deleted file mode 100644 index b9c9d9537..000000000 --- a/e2e/preact-e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/e2e/preact-e2e/tsconfig.spec.json b/e2e/preact-e2e/tsconfig.spec.json deleted file mode 100644 index 50785ba80..000000000 --- a/e2e/preact-e2e/tsconfig.spec.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": ["**/*.spec.ts", "**/*.d.ts", "jest.config.ts"] -} diff --git a/e2e/solid-e2e/eslint.config.js b/e2e/solid-e2e/eslint.config.js deleted file mode 100644 index 6dd9686e4..000000000 --- a/e2e/solid-e2e/eslint.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); -module.exports = [ - ...baseConfig, - { - files: [ - 'e2e/solid-e2e/**/*.ts', - 'e2e/solid-e2e/**/*.tsx', - 'e2e/solid-e2e/**/*.js', - 'e2e/solid-e2e/**/*.jsx', - ], - rules: {}, - }, - { - files: ['e2e/solid-e2e/**/*.ts', 'e2e/solid-e2e/**/*.tsx'], - rules: {}, - }, - { - files: ['e2e/solid-e2e/**/*.js', 'e2e/solid-e2e/**/*.jsx'], - rules: {}, - }, -]; diff --git a/e2e/solid-e2e/jest.config.ts b/e2e/solid-e2e/jest.config.ts deleted file mode 100644 index 2e534150a..000000000 --- a/e2e/solid-e2e/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default { - displayName: 'solid-e2e', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/e2e/solid-e2e', - globalSetup: '../../tools/scripts/start-local-registry.ts', - globalTeardown: '../../tools/scripts/stop-local-registry.ts', -}; diff --git a/e2e/solid-e2e/project.json b/e2e/solid-e2e/project.json deleted file mode 100644 index fb0d20774..000000000 --- a/e2e/solid-e2e/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "solid-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "e2e/solid-e2e/src", - "targets": { - "e2e": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "e2e/solid-e2e/jest.config.ts", - "passWithNoTests": true, - "runInBand": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - }, - "dependsOn": ["^build"] - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["e2e/solid-e2e/**/*.ts"] - } - } - }, - "tags": [], - "implicitDependencies": ["solid"] -} diff --git a/e2e/solid-e2e/tests/solid.test.ts b/e2e/solid-e2e/tests/solid.test.ts deleted file mode 100644 index 24d5788d4..000000000 --- a/e2e/solid-e2e/tests/solid.test.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { checkFilesExist, runNxCommandAsync, uniq } from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -describe('solid e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'solid'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('solid app', () => { - it('should build solid application', async () => { - const plugin = uniq('solid'); - await runNxCommandAsync( - `generate @nxext/solid:app ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${plugin}` - ); - }); - - it('should be able to run linter', async () => { - const plugin = uniq('solidlint'); - await runNxCommandAsync( - `generate @nxext/solid:app ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - }); - - describe('solid lib', () => { - it('should generate lib into directory', async () => { - await runNxCommandAsync( - `generate @nxext/solid:lib project/uilib --e2eTestRunner='none' --junitTestRunner='none'` - ); - expect(() => - checkFilesExist(`libs/project/uilib/src/index.ts`) - ).not.toThrow(); - }); - - it('should be able to run linter', async () => { - const plugin = uniq('solidliblint'); - await runNxCommandAsync( - `generate @nxext/solid:lib ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - - it('should be able build lib if buildable', async () => { - const plugin = uniq('solidlib'); - await runNxCommandAsync( - `generate @nxext/solid:lib ${plugin} --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${plugin}` - ); - }); - }); -}); diff --git a/e2e/solid-e2e/tsconfig.json b/e2e/solid-e2e/tsconfig.json deleted file mode 100644 index b9c9d9537..000000000 --- a/e2e/solid-e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/e2e/solid-e2e/tsconfig.spec.json b/e2e/solid-e2e/tsconfig.spec.json deleted file mode 100644 index 50785ba80..000000000 --- a/e2e/solid-e2e/tsconfig.spec.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": ["**/*.spec.ts", "**/*.d.ts", "jest.config.ts"] -} diff --git a/e2e/stencil-e2e/eslint.config.js b/e2e/stencil-e2e/eslint.config.js deleted file mode 100644 index cd4ce39f6..000000000 --- a/e2e/stencil-e2e/eslint.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); -module.exports = [ - ...baseConfig, - { - files: [ - 'e2e/stencil-e2e/**/*.ts', - 'e2e/stencil-e2e/**/*.tsx', - 'e2e/stencil-e2e/**/*.js', - 'e2e/stencil-e2e/**/*.jsx', - ], - rules: {}, - }, - { - files: ['e2e/stencil-e2e/**/*.ts', 'e2e/stencil-e2e/**/*.tsx'], - rules: {}, - }, - { - files: ['e2e/stencil-e2e/**/*.js', 'e2e/stencil-e2e/**/*.jsx'], - rules: {}, - }, -]; diff --git a/e2e/stencil-e2e/jest.config.ts b/e2e/stencil-e2e/jest.config.ts deleted file mode 100644 index 9af6898ff..000000000 --- a/e2e/stencil-e2e/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default { - displayName: 'stencil-e2e', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/e2e/stencil-e2e', - globalSetup: '../../tools/scripts/start-local-registry.ts', - globalTeardown: '../../tools/scripts/stop-local-registry.ts', -}; diff --git a/e2e/stencil-e2e/project.json b/e2e/stencil-e2e/project.json deleted file mode 100644 index ed3ade9a0..000000000 --- a/e2e/stencil-e2e/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "stencil-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "e2e/stencil-e2e/src", - "targets": { - "e2e": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "e2e/stencil-e2e/jest.config.ts", - "passWithNoTests": true, - "runInBand": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - }, - "dependsOn": ["^build"] - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["e2e/stencil-e2e/**/*.ts"] - } - } - }, - "tags": [], - "implicitDependencies": ["stencil"] -} diff --git a/e2e/stencil-e2e/tests/application.test.ts b/e2e/stencil-e2e/tests/application.test.ts deleted file mode 100644 index 9733bb7f5..000000000 --- a/e2e/stencil-e2e/tests/application.test.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { - checkFilesExist, - runNxCommandAsync, - uniq, - runCommand, -} from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -describe('application e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'stencil'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('app', () => { - it(`should build app with css`, async () => { - const plugin = uniq('app2'); - await runNxCommandAsync( - `generate @nxext/stencil:app ${plugin} --style='css' --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin} --dev`); - expect(result.stdout).toContain('build finished'); - expect(() => { - checkFilesExist( - `dist/apps/${plugin}/www/index.html`, - `dist/apps/${plugin}/www/host.config.json` - ); - }).not.toThrow(); - }); - - it(`should be able to run e2e`, async () => { - const plugin = uniq('app2'); - await runNxCommandAsync( - `generate @nxext/stencil:app ${plugin} --style='css' --e2eTestRunner='puppeteer' --junitTestRunner='none'` - ); - runCommand( - `yarn add -D @types/jest@27.0.3 jest@27.0.3 jest-cli@27.4.5`, - {} - ); - - const result = await runNxCommandAsync(`e2e ${plugin} `); - expect(result.stdout).toContain('build finished'); - }); - - it(`should build app with prerender parameter`, async () => { - const plugin = uniq('app-prerender'); - await runNxCommandAsync( - `generate @nxext/stencil:app ${plugin} --style='css' --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync( - `build ${plugin} --prerender=true` - ); - expect(result.stdout).toContain('build finished'); - expect(() => { - checkFilesExist( - `dist/apps/${plugin}/www/index.html`, - `dist/apps/${plugin}/www/host.config.json` - ); - }).not.toThrow(); - }); - }); - - describe('pwa', () => { - it(`should build pwa app with scss`, async () => { - const plugin = uniq('pwa'); - await runNxCommandAsync( - `generate @nxext/stencil:pwa ${plugin} --style='scss' --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin} --dev`); - expect(result.stdout).toContain('build finished'); - }); - }); -}); diff --git a/e2e/stencil-e2e/tests/library.test.ts b/e2e/stencil-e2e/tests/library.test.ts deleted file mode 100644 index 6ffeab371..000000000 --- a/e2e/stencil-e2e/tests/library.test.ts +++ /dev/null @@ -1,205 +0,0 @@ -import { - checkFilesExist, - renameFile, - runNxCommandAsync, - uniq, -} from '@nx/plugin/testing'; -import { - createTestProject, - installPlugin, - runNxCommandUntil, -} from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -describe('library e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'stencil'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - it(`should build app with scss`, async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='scss' --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin} --dev`); - expect(result.stdout).toContain('build finished'); - }); - - it('should be able to make a lib buildable', async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:make-lib-buildable ${plugin} --importPath=@my/lib` - ); - - const result = await runNxCommandAsync(`build ${plugin} --dev`); - expect(result.stdout).toContain('build finished'); - - expect(() => - checkFilesExist(`libs/${plugin}/stencil.config.ts`) - ).not.toThrow(); - }); - - it('should be able to build a lib with prerender', async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:make-lib-buildable ${plugin} --importPath=@my/lib` - ); - - const result = await runNxCommandAsync(`build ${plugin} --dev`); - expect(result.stdout).toContain('build finished'); - - expect(() => - checkFilesExist(`libs/${plugin}/stencil.config.ts`) - ).not.toThrow(); - }); - - describe('buildoptions', () => { - it(`should build with custom stencil config naming`, async () => { - const plugin = uniq('library'); - - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style=scss --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const uniqConfigFilename = uniq('stencil.config'); - renameFile( - `libs/${plugin}/stencil.config.ts`, - `libs/${plugin}/${uniqConfigFilename}.ts` - ); - - const result = await runNxCommandAsync( - `build ${plugin} --configPath=libs/${plugin}/${uniqConfigFilename}.ts` - ); - expect(result.stdout).toContain('build finished'); - }); - - it(`should build with custom configPath`, async () => { - const plugin = uniq('library'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style=scss --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync( - `build ${plugin} --configPath=libs/${plugin}/stencil.config.ts` - ); - expect(result.stdout).toContain('build finished'); - }); - }); - - describe('outputtargets', () => { - it(`should generate react lib`, async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='css' --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:add-outputtarget ${plugin} --outputType=react` - ); - await runNxCommandAsync(`build ${plugin}`); - - expect(() => - checkFilesExist(`libs/${plugin}-react/src/index.ts`) - ).not.toThrow(); - }); - - it(`should generate angular lib`, async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='css' --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:add-outputtarget ${plugin} --outputType=angular` - ); - await runNxCommandAsync(`build ${plugin}`); - - expect(() => - checkFilesExist( - `libs/${plugin}-angular/src/index.ts`, - `libs/${plugin}-angular/src/lib/${plugin}-angular.module.ts` - ) - ).not.toThrow(); - }); - - xit(`should generate svelte lib`, async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='css' --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:add-outputtarget ${plugin} --outputType=svelte` - ); - - expect(() => - checkFilesExist(`libs/${plugin}-svelte/src/index.ts`) - ).not.toThrow(); - }); - - it(`should stop if lib not buildable`, async () => { - const plugin = uniq('lib'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='css' --e2eTestRunner='none' --junitTestRunner='none'` - ); - const result = await runNxCommandAsync( - `generate @nxext/stencil:add-outputtarget ${plugin} --outputType=angular` - ); - - expect(result.stdout).toContain( - 'Please use a buildable library for custom outputtargets' - ); - }); - }); - - xdescribe('storybook', () => { - it('should build', async () => { - const plugin = uniq('build-storybook'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='css' --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:storybook-configuration ${plugin} --configureCypress=false` - ); - await runNxCommandAsync( - `generate @nxext/stencil:component test-comp --project=${plugin}` - ); - await runNxCommandAsync(`build ${plugin}`); - - const result = await runNxCommandAsync(`build-storybook ${plugin}`); - expect(result.stdout).toContain('Storybook builder finished ...'); - }); - - it('should serve', async () => { - const plugin = uniq('storybook'); - await runNxCommandAsync( - `generate @nxext/stencil:lib ${plugin} --style='css' --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/stencil:storybook-configuration ${plugin} --configureCypress=false` - ); - await runNxCommandAsync( - `generate @nxext/stencil:component test-comp --project=${plugin}` - ); - - await runNxCommandUntil(`storybook ${plugin}`, (output) => { - return /Storybook.*started/gi.test(output); - }); - }); - }); -}); diff --git a/e2e/stencil-e2e/tsconfig.json b/e2e/stencil-e2e/tsconfig.json deleted file mode 100644 index 6d5abf848..000000000 --- a/e2e/stencil-e2e/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "types": ["node", "jest"] - }, - "include": [], - "files": [], - "references": [ - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/e2e/stencil-e2e/tsconfig.spec.json b/e2e/stencil-e2e/tsconfig.spec.json deleted file mode 100644 index 50785ba80..000000000 --- a/e2e/stencil-e2e/tsconfig.spec.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": ["**/*.spec.ts", "**/*.d.ts", "jest.config.ts"] -} diff --git a/e2e/svelte-e2e/eslint.config.js b/e2e/svelte-e2e/eslint.config.js deleted file mode 100644 index 5452cfb0a..000000000 --- a/e2e/svelte-e2e/eslint.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); -module.exports = [ - ...baseConfig, - { - files: [ - 'e2e/svelte-e2e/**/*.ts', - 'e2e/svelte-e2e/**/*.tsx', - 'e2e/svelte-e2e/**/*.js', - 'e2e/svelte-e2e/**/*.jsx', - ], - rules: {}, - }, - { - files: ['e2e/svelte-e2e/**/*.ts', 'e2e/svelte-e2e/**/*.tsx'], - rules: {}, - }, - { - files: ['e2e/svelte-e2e/**/*.js', 'e2e/svelte-e2e/**/*.jsx'], - rules: {}, - }, -]; diff --git a/e2e/svelte-e2e/jest.config.ts b/e2e/svelte-e2e/jest.config.ts deleted file mode 100644 index 78c6ea885..000000000 --- a/e2e/svelte-e2e/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default { - displayName: 'svelte-e2e', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/e2e/svelte-e2e', - globalSetup: '../../tools/scripts/start-local-registry.ts', - globalTeardown: '../../tools/scripts/stop-local-registry.ts', -}; diff --git a/e2e/svelte-e2e/project.json b/e2e/svelte-e2e/project.json deleted file mode 100644 index 03f563a63..000000000 --- a/e2e/svelte-e2e/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "svelte-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "e2e/svelte-e2e/src", - "targets": { - "e2e": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "e2e/svelte-e2e/jest.config.ts", - "passWithNoTests": true, - "runInBand": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - }, - "dependsOn": ["^build"] - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["e2e/svelte-e2e/**/*.ts"] - } - } - }, - "tags": [], - "implicitDependencies": ["svelte"] -} diff --git a/e2e/svelte-e2e/tests/application.test.ts b/e2e/svelte-e2e/tests/application.test.ts deleted file mode 100644 index 8eda06914..000000000 --- a/e2e/svelte-e2e/tests/application.test.ts +++ /dev/null @@ -1,178 +0,0 @@ -import { - checkFilesExist, - readJson, - runNxCommandAsync, - uniq, - updateFile, -} from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -describe('svelte e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'svelte'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('Svelte app', () => { - it('should build svelte application', async () => { - const plugin = uniq('svelte'); - await runNxCommandAsync( - `generate @nxext/svelte:app ${plugin} --e2eTestRunner='none' --unitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${plugin}` - ); - - expect(() => - checkFilesExist(`dist/apps/${plugin}/index.html`) - ).not.toThrow(); - }); - - it('should add tags to project', async () => { - const plugin = uniq('sveltetags'); - await runNxCommandAsync( - `generate @nxext/svelte:app ${plugin} --tags e2etag,e2ePackage --e2eTestRunner='none' --unitTestRunner='none'` - ); - const project = readJson(`apps/${plugin}/project.json`); - expect(project.tags).toEqual(['e2etag', 'e2ePackage']); - }); - - it('should generate app into directory', async () => { - await runNxCommandAsync( - `generate @nxext/svelte:app project/ui --e2eTestRunner='none' --unitTestRunner='none'` - ); - expect(() => - checkFilesExist(`apps/project/ui/src/main.ts`) - ).not.toThrow(); - }); - - it('should be able to run linter', async () => { - const plugin = uniq('sveltelint'); - await runNxCommandAsync( - `generate @nxext/svelte:app ${plugin} --e2eTestRunner='none' --unitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - - it('should be able to run check', async () => { - const plugin = uniq('svelteappcheck'); - await runNxCommandAsync( - `generate @nxext/svelte:app ${plugin} --e2eTestRunner='none' --unitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`check ${plugin}`); - expect(result.stdout).toContain( - 'svelte-check found 0 errors, 0 warnings, and 0 hints' - ); - }); - - describe('should be able to run tests', () => { - it('with jest', async () => { - const plugin = uniq('svelteapptests'); - await runNxCommandAsync( - `generate @nxext/svelte:app ${plugin} --unitTestRunner='jest' --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:component test --project=${plugin}` - ); - - const result = await runNxCommandAsync(`test ${plugin}`); - expect(`${result.stdout}${result.stderr}`).toContain( - 'Ran all test suites' - ); - }); - - it('with vitest', async () => { - const plugin = uniq('svelteapptests'); - await runNxCommandAsync( - `generate @nxext/svelte:app ${plugin} --unitTestRunner='vitest' --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:component test --project=${plugin}` - ); - - const result = await runNxCommandAsync(`test ${plugin}`); - expect(`${result.stdout}${result.stderr}`).toContain( - `Successfully ran target test for project ${plugin}` - ); - }); - }); - }); - - describe('Svelte app', () => { - it('should build svelte application with dependencies', async () => { - const appName = 'svelteappwithdeps'; - await runNxCommandAsync( - `generate @nxext/svelte:app ${appName} --e2eTestRunner='none' --unitTestRunner='none'` - ); - const libName = uniq('sveltelib'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${libName} --e2eTestRunner='none' --unitTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:c testcomp --project=${libName}` - ); - updateFile( - `apps/${appName}/src/App.svelte`, - ` - - -
-

Welcome {name}!

-

Visit the Svelte tutorial to learn how to build Svelte apps.

- -
- - -` - ); - - const result = await runNxCommandAsync(`build ${appName}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${appName}` - ); - - expect(() => - checkFilesExist(`dist/apps/${appName}/index.html`) - ).not.toThrow(); - }); - }); -}); diff --git a/e2e/svelte-e2e/tests/library.test.ts b/e2e/svelte-e2e/tests/library.test.ts deleted file mode 100644 index 6a41ced57..000000000 --- a/e2e/svelte-e2e/tests/library.test.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { runNxCommandAsync, uniq, updateFile } from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; -import { names } from '@nx/devkit'; - -describe('svelte e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'svelte'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('Svelte lib', () => { - it('should be able to run linter', async () => { - const plugin = uniq('svelteliblint'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - - it('should be able to run check', async () => { - const plugin = uniq('sveltelibcheck'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${plugin} --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`check ${plugin}`); - expect(result.stdout).toContain( - 'svelte-check found 0 errors, 0 warnings, and 0 hints' - ); - }); - - it('should be able build lib if buildable', async () => { - const plugin = uniq('sveltelib'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${plugin} --buildable --e2eTestRunner='none' --junitTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${plugin}` - ); - }); - - describe('should be able to run tests', () => { - it('with jest', async () => { - const plugin = uniq('jest'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${plugin} --unitTestRunner=jest --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:component test --project=${plugin}` - ); - - const result = await runNxCommandAsync(`test ${plugin}`); - expect(`${result.stdout}${result.stderr}`).toContain( - 'Ran all test suites' - ); - }); - - it('with vitest', async () => { - const plugin = uniq('vitest'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${plugin} --unitTestRunner=vitest --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:component test --project=${plugin}` - ); - - const result = await runNxCommandAsync(`test ${plugin}`); - expect(`${result.stdout}${result.stderr}`).toContain( - `Successfully ran target test for project ${plugin}` - ); - }); - }); - - it('should be able to run storybook', async () => { - const plugin = uniq('sveltestories'); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${plugin} --unitTestRunner='none' --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:storybook-configuration ${plugin}` - ); - await runNxCommandAsync( - `generate @nxext/svelte:component test --project=${plugin}` - ); - - const result = await runNxCommandAsync(`build-storybook ${plugin}`); - expect(`${result.stdout}${result.stderr}`).toContain( - 'Storybook builder finished' - ); - }); - - describe('library reference', () => { - it('should create a svelte application with linked lib', async () => { - const projectName = uniq('sveltelinkapp'); - const libName = uniq('sveltelinklib'); - const libClassName = names(libName).className; - - await runNxCommandAsync( - `generate @nxext/svelte:c ${libClassName} --project ${libName}` - ); - - updateFile( - `apps/${projectName}/src/App.svelte`, - ` - - -
- <${libClassName} msg="Yey"> -
` - ); - - await runNxCommandAsync( - `generate @nxext/svelte:app ${projectName} --unitTestRunner='none' --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/svelte:lib ${libName} --buildable --unitTestRunner='none' --e2eTestRunner='none'` - ); - - const result = await runNxCommandAsync(`build ${projectName}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - }); - }); -}); diff --git a/e2e/svelte-e2e/tsconfig.json b/e2e/svelte-e2e/tsconfig.json deleted file mode 100644 index b9c9d9537..000000000 --- a/e2e/svelte-e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/e2e/svelte-e2e/tsconfig.spec.json b/e2e/svelte-e2e/tsconfig.spec.json deleted file mode 100644 index 50785ba80..000000000 --- a/e2e/svelte-e2e/tsconfig.spec.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": ["**/*.spec.ts", "**/*.d.ts", "jest.config.ts"] -} diff --git a/e2e/sveltekit-e2e/eslint.config.js b/e2e/sveltekit-e2e/eslint.config.js deleted file mode 100644 index cf337c544..000000000 --- a/e2e/sveltekit-e2e/eslint.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); -module.exports = [ - ...baseConfig, - { - files: [ - 'e2e/sveltekit-e2e/**/*.ts', - 'e2e/sveltekit-e2e/**/*.tsx', - 'e2e/sveltekit-e2e/**/*.js', - 'e2e/sveltekit-e2e/**/*.jsx', - ], - rules: {}, - }, - { - files: ['e2e/sveltekit-e2e/**/*.ts', 'e2e/sveltekit-e2e/**/*.tsx'], - rules: {}, - }, - { - files: ['e2e/sveltekit-e2e/**/*.js', 'e2e/sveltekit-e2e/**/*.jsx'], - rules: {}, - }, -]; diff --git a/e2e/sveltekit-e2e/jest.config.ts b/e2e/sveltekit-e2e/jest.config.ts deleted file mode 100644 index 7916b0d5d..000000000 --- a/e2e/sveltekit-e2e/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default { - displayName: 'sveltekit-e2e', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/e2e/sveltekit-e2e', - globalSetup: '../../tools/scripts/start-local-registry.ts', - globalTeardown: '../../tools/scripts/stop-local-registry.ts', -}; diff --git a/e2e/sveltekit-e2e/project.json b/e2e/sveltekit-e2e/project.json deleted file mode 100644 index 50eff5f26..000000000 --- a/e2e/sveltekit-e2e/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "sveltekit-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "e2e/sveltekit-e2e/src", - "targets": { - "e2e": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "e2e/sveltekit-e2e/jest.config.ts", - "passWithNoTests": true, - "runInBand": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - }, - "dependsOn": ["^build"] - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["e2e/sveltekit-e2e/**/*.ts"] - } - } - }, - "tags": [], - "implicitDependencies": ["sveltekit"] -} diff --git a/e2e/sveltekit-e2e/tests/sveltekit.spec.ts b/e2e/sveltekit-e2e/tests/sveltekit.spec.ts deleted file mode 100644 index 75cede989..000000000 --- a/e2e/sveltekit-e2e/tests/sveltekit.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { - checkFilesExist, - readJson, - runNxCommandAsync, - uniq, -} from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -xdescribe('sveltekit e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'sveltekit'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - it('should create sveltekit app', async () => { - const plugin = uniq('sveltekitapp'); - await runNxCommandAsync(`generate @nxext/sveltekit:app ${plugin}`); - - const result = await runNxCommandAsync(`build ${plugin}`); - expect(result.stdout).toContain('modules transformed'); - expect(result.stdout).toContain('Successfully ran target build'); - }); - - it('should create sveltekit component', async () => { - const appName = uniq('sveltekitcomp'); - const componentName = uniq('component-sveltekit'); - - await runNxCommandAsync(`generate @nxext/sveltekit:app ${appName}`); - await runNxCommandAsync( - `generate @nxext/sveltekit:component -p ${appName} ${componentName}` - ); - - expect(() => - checkFilesExist( - `apps/${appName}/src/lib/${componentName}/${componentName}.spec.ts` - ) - ).not.toThrow(); - }); - - it('should lint sveltekit app', async () => { - const plugin = uniq('sveltekitlint'); - - await runNxCommandAsync(`generate @nxext/sveltekit:app ${plugin}`); - - const result = await runNxCommandAsync(`lint ${plugin}`); - expect(result.stdout).toContain('All files pass linting'); - }); - - describe('--directory', () => { - it('should create src in the specified directory', async () => { - const plugin = uniq('sveltekitdir'); - - await runNxCommandAsync( - `generate @nxext/sveltekit:app ${plugin} --directory subdir --linter none` - ); - expect(() => - checkFilesExist(`apps/subdir/${plugin}/src/app.html`) - ).not.toThrow(); - }); - }); - - describe('--tags', () => { - it('should add tags to project', async () => { - const plugin = uniq('sveltekittags'); - await runNxCommandAsync( - `generate @nxext/sveltekit:app ${plugin} --tags e2etag,e2ePackage` - ); - const project = readJson(`apps/${plugin}/project.json`); - expect(project.tags).toEqual(['e2etag', 'e2ePackage']); - }); - }); -}); diff --git a/e2e/sveltekit-e2e/tsconfig.json b/e2e/sveltekit-e2e/tsconfig.json deleted file mode 100644 index b9c9d9537..000000000 --- a/e2e/sveltekit-e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/e2e/sveltekit-e2e/tsconfig.spec.json b/e2e/sveltekit-e2e/tsconfig.spec.json deleted file mode 100644 index 50785ba80..000000000 --- a/e2e/sveltekit-e2e/tsconfig.spec.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": ["**/*.spec.ts", "**/*.d.ts", "jest.config.ts"] -} diff --git a/e2e/vue-e2e/eslint.config.js b/e2e/vue-e2e/eslint.config.js deleted file mode 100644 index 868077d3d..000000000 --- a/e2e/vue-e2e/eslint.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); -module.exports = [ - ...baseConfig, - { - files: [ - 'e2e/vue-e2e/**/*.ts', - 'e2e/vue-e2e/**/*.tsx', - 'e2e/vue-e2e/**/*.js', - 'e2e/vue-e2e/**/*.jsx', - ], - rules: {}, - }, - { - files: ['e2e/vue-e2e/**/*.ts', 'e2e/vue-e2e/**/*.tsx'], - rules: {}, - }, - { - files: ['e2e/vue-e2e/**/*.js', 'e2e/vue-e2e/**/*.jsx'], - rules: {}, - }, -]; diff --git a/e2e/vue-e2e/jest.config.ts b/e2e/vue-e2e/jest.config.ts deleted file mode 100644 index b1fd1e2ee..000000000 --- a/e2e/vue-e2e/jest.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'vue-e2e', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/e2e/vue-e2e', - globalSetup: '../../tools/scripts/start-local-registry.ts', - globalTeardown: '../../tools/scripts/stop-local-registry.ts', -}; diff --git a/e2e/vue-e2e/project.json b/e2e/vue-e2e/project.json deleted file mode 100644 index ea975f7fb..000000000 --- a/e2e/vue-e2e/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "vue-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "e2e/vue-e2e/src", - "targets": { - "e2e": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "e2e/vue-e2e/jest.config.ts", - "passWithNoTests": true, - "runInBand": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - }, - "dependsOn": ["^build"] - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["e2e/vue-e2e/**/*.ts"] - } - } - }, - "tags": [], - "implicitDependencies": ["vue"] -} diff --git a/e2e/vue-e2e/tests/vue-preset-standalone.spec.ts b/e2e/vue-e2e/tests/vue-preset-standalone.spec.ts deleted file mode 100644 index 3ab2ff8b3..000000000 --- a/e2e/vue-e2e/tests/vue-preset-standalone.spec.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { checkFilesExist, runNxCommandAsync, uniq } from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -xdescribe('vue e2e', () => { - const projectName = uniq('presetappstandalone'); - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'vue'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('preset', () => { - it('should create a vue application', async () => { - const result = await runNxCommandAsync(`build ${projectName}`); - - checkFilesExist(`src/main.ts`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - }); -}); diff --git a/e2e/vue-e2e/tests/vue-preset.spec.ts b/e2e/vue-e2e/tests/vue-preset.spec.ts deleted file mode 100644 index 487641d85..000000000 --- a/e2e/vue-e2e/tests/vue-preset.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { checkFilesExist, runNxCommandAsync, uniq } from '@nx/plugin/testing'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -xdescribe('vue e2e', () => { - const projectName = uniq('presetapp'); - - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'vue'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('preset', () => { - it('should create a vue application', async () => { - const result = await runNxCommandAsync(`build ${projectName}`); - - checkFilesExist(`apps/${projectName}/src/main.ts`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - }); -}); diff --git a/e2e/vue-e2e/tests/vue.spec.ts b/e2e/vue-e2e/tests/vue.spec.ts deleted file mode 100644 index fc0fc478e..000000000 --- a/e2e/vue-e2e/tests/vue.spec.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { runNxCommandAsync, uniq, updateFile } from '@nx/plugin/testing'; -import { names } from '@nx/devkit'; -import { createTestProject, installPlugin } from '@nxext/e2e-utils'; -import { rmSync } from 'fs'; - -describe('vue e2e', () => { - let projectDirectory: string; - - beforeAll(() => { - projectDirectory = createTestProject(); - installPlugin(projectDirectory, 'vue'); - }); - - afterAll(() => { - // Cleanup the test project - rmSync(projectDirectory, { - recursive: true, - force: true, - }); - }); - - describe('application', () => { - it('should create a vue application with routing', async () => { - const projectName = uniq('vue-routing'); - await runNxCommandAsync( - `generate @nxext/vue:app ${projectName} --routing --unitTestRunner='none' --e2eTestRunner='none'` - ); - const result = await runNxCommandAsync(`build ${projectName}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - - it('should be able to run linter', async () => { - const projectName = uniq('vue-lint'); - await runNxCommandAsync( - `generate @nxext/vue:app ${projectName} --unitTestRunner='none' --e2eTestRunner='none' --linter='eslint'` - ); - const result = await runNxCommandAsync(`lint ${projectName}`); - expect(result.stdout).toContain(`All files pass linting.`); - }); - - it('should be able to run vitest', async () => { - const projectName = uniq('vue-test'); - await runNxCommandAsync( - `generate @nxext/vue:app ${projectName} --unitTestRunner='vitest' --e2eTestRunner='none'` - ); - const result = await runNxCommandAsync(`test ${projectName}`); - expect(result.stdout).toContain(`1 passed`); - expect(result.stdout).toContain( - `Successfully ran target test for project ${projectName}` - ); - }); - }); - - describe('library', () => { - it('should create a vue lib and make it buildable', async () => { - const projectName = uniq('vue-lib'); - await runNxCommandAsync( - `generate @nxext/vue:lib ${projectName} --buildable --unitTestRunner='none'` - ); - const result = await runNxCommandAsync(`build ${projectName}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - - it('should be able to run vitest', async () => { - const projectName = uniq('vue-libvitest'); - await runNxCommandAsync( - `generate @nxext/vue:lib ${projectName} --unitTestRunner='vitest' --e2eTestRunner='none'` - ); - const result = await runNxCommandAsync(`test ${projectName}`); - expect(result.stdout).toContain(`1 passed`); - expect(result.stdout).toContain( - `Successfully ran target test for project ${projectName}` - ); - }); - - it('should be able to run linter', async () => { - const projectName = uniq('vue-liblint'); - await runNxCommandAsync( - `generate @nxext/vue:lib ${projectName} --unitTestRunner='none' --e2eTestRunner='none' --linter='eslint'` - ); - const result = await runNxCommandAsync(`lint ${projectName}`); - expect(result.stdout).toContain(`All files pass linting.`); - }); - }); - - describe('library reference', () => { - it('should create a vue application with linked lib', async () => { - const projectName = uniq('vue-linkapp'); - const libName = uniq('vue-linklib'); - const libClassName = names(libName).className; - await runNxCommandAsync( - `generate @nxext/vue:app ${projectName} --unitTestRunner='none' --e2eTestRunner='none' --linter='none'` - ); - await runNxCommandAsync( - `generate @nxext/vue:lib ${libName} --buildable --unitTestRunner='none' --e2eTestRunner='none'` - ); - updateFile( - `apps/${projectName}/src/App.vue`, - ` - - -` - ); - - const result = await runNxCommandAsync(`build ${projectName}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - }); - - describe('storybook', () => { - it('should create a vue lib and add storybook', async () => { - const projectName = uniq('vue-storybook'); - await runNxCommandAsync( - `generate @nxext/vue:lib ${projectName} --buildable --unitTestRunner='none' --e2eTestRunner='none'` - ); - await runNxCommandAsync( - `generate @nxext/vue:storybook-configuration ${projectName}` - ); - - const result = await runNxCommandAsync(`build ${projectName}`); - expect(result.stdout).toContain( - `Successfully ran target build for project ${projectName}` - ); - }); - }); - - describe('e2e tests', () => { - it('should be able to run cypress', async () => { - const projectName = uniq('vue-e2e-cypress'); - await runNxCommandAsync( - `generate @nxext/vue:app ${projectName} --unitTestRunner='none' --e2eTestRunner='cypress'` - ); - const result = await runNxCommandAsync(`e2e ${projectName}-e2e`); - expect(result.stdout).toContain(`app.cy.ts`); - expect(result.stdout).toContain(`All specs passed!`); - }); - - xit('should be able to run playwright', async () => { - const projectName = uniq('vue-e2e-playwright'); - await runNxCommandAsync( - `generate @nxext/vue:app ${projectName} --unitTestRunner='none' --e2eTestRunner='playwright'` - ); - const result = await runNxCommandAsync(`e2e ${projectName}-e2e`); - expect(result.stdout).toContain( - `Successfully ran target e2e for ${projectName}-e2e` - ); - }); - }); -}); diff --git a/e2e/vue-e2e/tsconfig.json b/e2e/vue-e2e/tsconfig.json deleted file mode 100644 index b9c9d9537..000000000 --- a/e2e/vue-e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/e2e/vue-e2e/tsconfig.spec.json b/e2e/vue-e2e/tsconfig.spec.json deleted file mode 100644 index 9b2a121d1..000000000 --- a/e2e/vue-e2e/tsconfig.spec.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/package.json b/package.json index 1800e80d3..cb551d3eb 100644 --- a/package.json +++ b/package.json @@ -5,16 +5,14 @@ "keywords": [ "nx", "nx-plugin", - "stenciljs", - "pwa", - "web components" + "ionic" ], "repository": { "type": "github", - "url": "https://github.com/nxext/nx-extensions" + "url": "https://github.com/nxext/nx-extensions-ionic" }, "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" + "url": "https://github.com/nxext/nx-extensions-ionic/issues" }, "scripts": { "nx": "nx", @@ -68,13 +66,9 @@ "@nx/plugin": "16.10.0", "@nx/react": "16.10.0", "@nx/storybook": "16.10.0", - "@nx/vite": "16.10.0", - "@nx/web": "16.10.0", "@nx/workspace": "16.10.0", "@phenomnomnominal/tsquery": "~5.0.1", - "@preact/preset-vite": "^2.5.0", "@schematics/angular": "16.0.0", - "@stencil/core": "3.4.0", "@swc-node/register": "1.6.8", "@swc/cli": "0.1.62", "@swc/core": "1.3.91", @@ -97,7 +91,6 @@ "eslint": "8.46.0", "eslint-config-prettier": "8.8.0", "eslint-plugin-cypress": "2.14.0", - "eslint-plugin-svelte3": "^4.0.0", "file-type": "^18.5.0", "fs-extra": "^10.1.0", "globrex": "^0.1.2", @@ -111,14 +104,10 @@ "jsonc-parser": "^3.2.0", "kill-port": "^2.0.1", "lint-staged": "13.2.3", - "nuxi": "3.6.5", - "nuxt": "3.6.5", "nx": "16.10.0", "nx-cloud": "16.4.0", "prettier": "2.7.1", "pretty-quick": "^3.1.3", - "svelte": "^4.2.1", - "svelte-preprocess": "^5.0.4", "tcp-port-used": "^1.0.2", "ts-jest": "29.1.1", "ts-node": "10.9.1", @@ -127,7 +116,6 @@ "typescript": "5.1.6", "verdaccio": "5.18.0", "verdaccio-auth-memory": "^10.2.2", - "vite-plugin-solid": "^2.7.0", "vitepress": "^1.0.0-rc.20", "yargs": "^17.7.2", "yargs-parser": "^21.1.1" @@ -151,4 +139,4 @@ "nx": { "includedScripts": [] } -} +} \ No newline at end of file diff --git a/packages/core/README.md b/packages/core/README.md deleted file mode 100644 index 0b50a3b3e..000000000 --- a/packages/core/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# core - -This library was generated with [Nx](https://nx.dev). - -## Building - -Run `nx build core` to build the library. - -## Running unit tests - -Run `nx test core` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/packages/core/eslint.config.js b/packages/core/eslint.config.js deleted file mode 100644 index a424e60fb..000000000 --- a/packages/core/eslint.config.js +++ /dev/null @@ -1,32 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { - files: [ - 'packages/core/**/*.ts', - 'packages/core/**/*.tsx', - 'packages/core/**/*.js', - 'packages/core/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/core/**/*.ts', 'packages/core/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/core/**/*.js', 'packages/core/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: ['packages/core/**/*.json'], - rules: { '@nx/dependency-checks': 'error' }, - })), -]; diff --git a/packages/core/jest.config.ts b/packages/core/jest.config.ts deleted file mode 100644 index f8cf7f609..000000000 --- a/packages/core/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'core', - preset: '../../jest.preset.js', - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/core', -}; diff --git a/packages/core/package.json b/packages/core/package.json deleted file mode 100644 index 5da404c27..000000000 --- a/packages/core/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@nxext/core", - "version": "16.8.0", - "description": "Core utilities for nxext Nx plugins", - "author": { - "name": "Gion Kunz", - "email": "gion@syncrea.ch" - }, - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/core" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "dependencies": { - "tslib": "^2.3.0", - "@nx/devkit": "^16.9.1", - "typescript": "5.1.6", - "nx": "^16.9.1" - } -} diff --git a/packages/core/project.json b/packages/core/project.json deleted file mode 100644 index 042587675..000000000 --- a/packages/core/project.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "core", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/core/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/packages/core", - "tsConfig": "packages/core/tsconfig.lib.json", - "packageJson": "packages/core/package.json", - "main": "packages/core/src/index.ts", - "assets": ["packages/core/*.md"] - } - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": [ - "packages/core/**/*.ts", - "packages/core/package.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "packages/core/jest.config.ts", - "passWithNoTests": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - } - } - }, - "tags": [] -} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts deleted file mode 100644 index 5d97deee9..000000000 --- a/packages/core/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './lib/utils/add-plugin-to-nx-json'; -export * from './lib/utils/ast-utils'; -export * from './lib/utils/map-lint-pattern'; diff --git a/packages/core/src/lib/utils/add-plugin-to-nx-json.ts b/packages/core/src/lib/utils/add-plugin-to-nx-json.ts deleted file mode 100644 index df6fe38d4..000000000 --- a/packages/core/src/lib/utils/add-plugin-to-nx-json.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Tree, writeJson, readNxJson } from '@nx/devkit'; - -export function addPluginToNxJson(pluginName: string, tree: Tree) { - const nxJson = readNxJson(tree); - nxJson.plugins = nxJson.plugins || []; - if (!nxJson.plugins.includes(pluginName)) { - nxJson.plugins.push(pluginName); - } - - writeJson(tree, 'nx.json', nxJson); -} diff --git a/packages/core/src/lib/utils/ast-utils.ts b/packages/core/src/lib/utils/ast-utils.ts deleted file mode 100644 index 63c177615..000000000 --- a/packages/core/src/lib/utils/ast-utils.ts +++ /dev/null @@ -1,45 +0,0 @@ -import * as ts from 'typescript'; -import { findNodes } from 'nx/src/utils/typescript'; -import { ChangeType, StringChange, Tree } from '@nx/devkit'; - -export function readTsSourceFile(host: Tree, path: string): ts.SourceFile { - if (!host.exists(path)) { - throw new Error(`Typescript file not readable (${path}).`); - } else { - const contentBuffer = host.read(path); - return ts.createSourceFile( - path, - contentBuffer.toString(), - ts.ScriptTarget.Latest, - true - ); - } -} - -export function addImport( - source: ts.SourceFile, - statement: string -): StringChange[] { - return [addAfterLastImport(source, statement)]; -} - -export function addAfterLastImport( - source: ts.SourceFile, - statement: string -): StringChange { - const allImports = findNodes(source, ts.SyntaxKind.ImportDeclaration); - if (allImports.length > 0) { - const lastImport = allImports[allImports.length - 1]; - return { - type: ChangeType.Insert, - index: lastImport.end + 1, - text: `\n${statement}\n`, - }; - } else { - return { - type: ChangeType.Insert, - index: 0, - text: `\n${statement}\n`, - }; - } -} diff --git a/packages/core/src/lib/utils/map-lint-pattern.ts b/packages/core/src/lib/utils/map-lint-pattern.ts deleted file mode 100644 index 486bedfd1..000000000 --- a/packages/core/src/lib/utils/map-lint-pattern.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function mapLintPattern( - projectRoot: string, - extension: string, - rootProject?: boolean -) { - const infix = rootProject ? 'src/' : ''; - return `${projectRoot}/${infix}**/*.${extension}`; -} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json deleted file mode 100644 index 19b9eece4..000000000 --- a/packages/core/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "commonjs" - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/core/tsconfig.lib.json b/packages/core/tsconfig.lib.json deleted file mode 100644 index 3f06e8028..000000000 --- a/packages/core/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], - "include": ["src/**/*.ts"] -} diff --git a/packages/core/tsconfig.spec.json b/packages/core/tsconfig.spec.json deleted file mode 100644 index 9b2a121d1..000000000 --- a/packages/core/tsconfig.spec.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/packages/nuxt/README.md b/packages/nuxt/README.md deleted file mode 100644 index 7ae91b573..000000000 --- a/packages/nuxt/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# @nxext/nuxt - -[![License](https://img.shields.io/npm/l/@nxext/svelte.svg?style=flat-square)]() - -**Not production ready yet** -**Not feature complete yet** - -**DO NOT USE FOR PRODUCTION** - -## Getting Started - -Add this plugin to an Nx workspace: - -``` -yarn add --dev @nxext/nuxt -``` - -or - -``` -npm install @nxext/nuxt --save-dev -``` - -Generate your project: - -``` -nx g @nxext/nuxt:app my-app -``` - -#Use your project - -- Run `nx build my-app` to build the app -- Run `nx serve my-app` to start the Nuxt3 dev server -- Run `nx test my-app` to test the app (not implemented yet) -- Run `nx e2e my-app` to run the e2e tests - -#Documentation - -The full docs are found [here](https://nxext.dev/docs/nuxt/overview) diff --git a/packages/nuxt/eslint.config.js b/packages/nuxt/eslint.config.js deleted file mode 100644 index 09596319c..000000000 --- a/packages/nuxt/eslint.config.js +++ /dev/null @@ -1,36 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { - files: [ - 'packages/nuxt/**/*.ts', - 'packages/nuxt/**/*.tsx', - 'packages/nuxt/**/*.js', - 'packages/nuxt/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/nuxt/**/*.ts', 'packages/nuxt/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/nuxt/**/*.js', 'packages/nuxt/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: [ - 'packages/nuxt/package.json', - 'packages/nuxt/generators.json', - 'packages/nuxt/executors.json', - ], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/nuxt/executors.json b/packages/nuxt/executors.json deleted file mode 100644 index c575a082a..000000000 --- a/packages/nuxt/executors.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "builders": { - "build": { - "implementation": "./src/executors/build/compat", - "schema": "./src/executors/build/schema.json", - "description": "Nuxt build" - }, - "serve": { - "implementation": "./src/executors/serve/compat", - "schema": "./src/executors/serve/schema.json", - "description": "Nuxt dev server" - } - }, - "executors": { - "build": { - "implementation": "./src/executors/build/executor", - "schema": "./src/executors/build/schema.json", - "description": "Nuxt build" - }, - "serve": { - "implementation": "./src/executors/serve/executor", - "schema": "./src/executors/serve/schema.json", - "description": "Nuxt dev server" - } - } -} diff --git a/packages/nuxt/generators.json b/packages/nuxt/generators.json deleted file mode 100644 index ef131ec2f..000000000 --- a/packages/nuxt/generators.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "name": "nuxt", - "version": "0.0.1", - "generators": { - "init": { - "factory": "./src/generators/init/init", - "schema": "./src/generators/init/schema.json", - "description": "Initialize the `@nxext/nuxt` plugin.", - "hidden": true - }, - "application": { - "factory": "./src/generators/application/application", - "schema": "./src/generators/application/schema.json", - "description": "Create a Nuxt application.", - "aliases": ["app"] - } - } -} diff --git a/packages/nuxt/jest.config.ts b/packages/nuxt/jest.config.ts deleted file mode 100644 index 893259e89..000000000 --- a/packages/nuxt/jest.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'nuxt', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/nuxt', -}; diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json deleted file mode 100644 index bc5a531a1..000000000 --- a/packages/nuxt/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@nxext/nuxt", - "version": "16.7.0", - "license": "MIT", - "author": "Gion Kunz", - "description": "Nx plugin for Nuxt3", - "homepage": "https://nxext.dev/", - "keywords": [ - "nuxt", - "nitro", - "vue", - "cypress", - "playwright" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/nuxt" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "main": "./src/index.js", - "typings": "./src/index.d.ts", - "schematics": "./generators.json", - "generators": "./generators.json", - "builders": "./executors.json", - "executors": "./executors.json", - "dependencies": { - "@nx/devkit": "^16.9.1", - "tslib": "^2.3.0", - "@nx/workspace": "^16.9.1", - "@nuxt/kit": "3.6.5", - "nuxi": "3.6.5", - "@nxext/core": "^16.7.0" - }, - "peerDependencies": { - "@nx/js": "^16.9.1", - "@nx/linter": "^16.9.1", - "@nx/cypress": "^16.9.1", - "@nx/playwright": "^16.9.1" - }, - "peerDependenciesMeta": { - "@nx/cypress": { - "optional": true - }, - "@nx/playwright": { - "optional": true - } - } -} diff --git a/packages/nuxt/project.json b/packages/nuxt/project.json deleted file mode 100644 index 1468bd99e..000000000 --- a/packages/nuxt/project.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "nuxt", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/nuxt/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/packages/nuxt", - "main": "packages/nuxt/src/index.ts", - "packageJson": "packages/nuxt/package.json", - "tsConfig": "packages/nuxt/tsconfig.lib.json", - "assets": [ - "packages/nuxt/*.md", - { - "input": "./packages/nuxt/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/nuxt/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/nuxt", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/nuxt", - "glob": "executors.json", - "output": "." - }, - { - "input": "./packages/nuxt", - "glob": "migrations.json", - "output": "." - } - ] - } - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": [ - "packages/nuxt/**/*.ts", - "packages/nuxt/generators.json", - "packages/nuxt/executors.json", - "packages/nuxt/package.json", - "packages/nuxt/project.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "packages/nuxt/jest.config.ts", - "passWithNoTests": true - } - }, - "publish": { - "command": "node tools/scripts/publish.mjs nuxt {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/nuxt/src/executors/build/compat.ts b/packages/nuxt/src/executors/build/compat.ts deleted file mode 100644 index 274dcc3b7..000000000 --- a/packages/nuxt/src/executors/build/compat.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { convertNxExecutor } from '@nx/devkit'; - -import buildExecutor from './executor'; - -export default convertNxExecutor(buildExecutor); diff --git a/packages/nuxt/src/executors/build/executor.ts b/packages/nuxt/src/executors/build/executor.ts deleted file mode 100644 index 6c13e856c..000000000 --- a/packages/nuxt/src/executors/build/executor.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { NuxtBuildExecutorOptions } from './schema'; -import { createProjectGraphAsync } from '@nx/workspace/src/core/project-graph'; -import { ExecutorContext } from '@nx/devkit'; -import { - calculateProjectDependencies, - checkDependentProjectsHaveBeenBuilt, - updateBuildableProjectPackageJsonDependencies, -} from '@nx/workspace/src/utilities/buildable-libs-utils'; -import { join } from 'path'; - -// Required because dep is ESM package. Changing moduleResolution to NodeNext causes other issues unfortunately. -export function loadNuxiDynamicImport() { - return Function('return import("nuxi")')() as Promise; -} - -export function getConfigOverrides( - options: NuxtBuildExecutorOptions, - context: ExecutorContext -) { - return { - ...options, - workspaceDir: context.root, - buildDir: join(context.root, options.outputPath, '.nuxt'), - nitro: { - output: { - dir: join(context.root, options.outputPath, '.output'), - }, - }, - typescript: { - typeCheck: true, - tsConfig: { - extends: join( - context.root, - context.projectsConfigurations.projects[context.projectName].root, - 'tsconfig.app.json' - ), - }, - }, - }; -} - -export default async function runExecutor( - options: NuxtBuildExecutorOptions, - context: ExecutorContext -) { - const projGraph = await createProjectGraphAsync(); - const { target, dependencies } = calculateProjectDependencies( - projGraph, - context.root, - context.projectName, - context.targetName, - context.configurationName - ); - - if ( - !checkDependentProjectsHaveBeenBuilt( - context.root, - context.projectName, - context.targetName, - dependencies - ) - ) { - return { success: false }; - } - - updateBuildableProjectPackageJsonDependencies( - context.root, - context.projectName, - context.targetName, - context.configurationName, - target, - dependencies - ); - - const { runCommand } = await loadNuxiDynamicImport(); - await runCommand( - 'build', - [ - join( - context.root, - context.projectsConfigurations.projects[context.projectName].root - ), - ], - { - overrides: getConfigOverrides(options, context), - } - ); - return { success: true }; -} diff --git a/packages/nuxt/src/executors/build/schema.d.ts b/packages/nuxt/src/executors/build/schema.d.ts deleted file mode 100644 index fe5f6e9ef..000000000 --- a/packages/nuxt/src/executors/build/schema.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LoadNuxtConfigOptions } from '@nuxt/kit'; - -// TODO: Need to verify which options should be made available to the executor -export interface NuxtBuildExecutorOptions - extends Pick { - outputPath: string; -} diff --git a/packages/nuxt/src/executors/build/schema.json b/packages/nuxt/src/executors/build/schema.json deleted file mode 100644 index f8ae36e29..000000000 --- a/packages/nuxt/src/executors/build/schema.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Nuxt build", - "description": "", - "type": "object", - "properties": { - "outputPath": { - "type": "string", - "description": "The output path of the generated files.", - "x-completion-type": "directory", - "x-priority": "important" - }, - "debug": { - "type": "boolean", - "description": "At the moment, it prints out hook names and timings on the server, and logs hook arguments as well in the browser.", - "default": false - }, - "dev": { - "type": "boolean", - "description": "Whether Nuxt is running in development mode.", - "default": false - }, - "ssr": { - "type": "boolean", - "description": "Whether to enable rendering of HTML - either dynamically (in server mode) or at generate time. If set to false generated pages will have no content." - } - }, - "required": [] -} diff --git a/packages/nuxt/src/executors/serve/compat.ts b/packages/nuxt/src/executors/serve/compat.ts deleted file mode 100644 index ee20ab899..000000000 --- a/packages/nuxt/src/executors/serve/compat.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { convertNxExecutor } from '@nx/devkit'; - -import serveExecutor from './executor'; - -export default convertNxExecutor(serveExecutor); diff --git a/packages/nuxt/src/executors/serve/executor.ts b/packages/nuxt/src/executors/serve/executor.ts deleted file mode 100644 index 45ee9ba10..000000000 --- a/packages/nuxt/src/executors/serve/executor.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { NuxtServeOptions } from './schema'; -import { createProjectGraphAsync } from '@nx/workspace/src/core/project-graph'; -import { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable'; -import { ExecutorContext } from '@nx/devkit'; -import { - calculateProjectDependencies, - checkDependentProjectsHaveBeenBuilt, - updateBuildableProjectPackageJsonDependencies, -} from '@nx/workspace/src/utilities/buildable-libs-utils'; -import type { LoadNuxtConfigOptions } from '@nuxt/kit'; -import { join } from 'path'; - -// Required because dep is ESM package. Changing moduleResolution to NodeNext causes other issues unfortunately. -export function loadNuxiDynamicImport() { - return Function('return import("nuxi")')() as Promise; -} - -export function getConfigOverrides( - options: NuxtServeOptions, - context: ExecutorContext -): LoadNuxtConfigOptions['overrides'] { - return { - workspaceDir: context.root, - devServer: { - host: options.host, - port: options.port, - }, - typescript: { - typeCheck: true, - tsConfig: { - extends: join( - context.root, - context.projectsConfigurations.projects[context.projectName].root, - 'tsconfig.app.json' - ), - }, - }, - debug: options.debug, - dev: options.dev, - ssr: options.ssr, - }; -} - -export default async function* runExecutor( - options: NuxtServeOptions, - context: ExecutorContext -) { - const projGraph = await createProjectGraphAsync(); - const { target, dependencies } = calculateProjectDependencies( - projGraph, - context.root, - context.projectName, - context.targetName, - context.configurationName - ); - - if ( - !checkDependentProjectsHaveBeenBuilt( - context.root, - context.projectName, - context.targetName, - dependencies - ) - ) { - yield { success: false }; - } - - updateBuildableProjectPackageJsonDependencies( - context.root, - context.projectName, - context.targetName, - context.configurationName, - target, - dependencies - ); - - yield* createAsyncIterable<{ success: boolean }>(async ({ next, error }) => { - try { - const { runCommand } = await loadNuxiDynamicImport(); - await runCommand( - 'dev', - [ - join( - context.root, - context.projectsConfigurations.projects[context.projectName].root - ), - ], - { - overrides: getConfigOverrides(options, context), - } - ); - - next({ - success: true, - }); - } catch (err) { - error(new Error(`Nuxt app exited with message ${err.message}`)); - } - }); -} diff --git a/packages/nuxt/src/executors/serve/schema.d.ts b/packages/nuxt/src/executors/serve/schema.d.ts deleted file mode 100644 index 23d50cf80..000000000 --- a/packages/nuxt/src/executors/serve/schema.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { LoadNuxtConfigOptions } from '@nuxt/kit'; - -// TODO: Need to verify which options should be made available to the executor -export interface NuxtServeOptions - extends Pick { - host?: string; - port?: number; -} diff --git a/packages/nuxt/src/executors/serve/schema.json b/packages/nuxt/src/executors/serve/schema.json deleted file mode 100644 index 61613840a..000000000 --- a/packages/nuxt/src/executors/serve/schema.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Nuxt dev server", - "description": "", - "type": "object", - "properties": { - "dev": { - "type": "boolean", - "description": "Whether Nuxt is running in development mode.", - "default": true - }, - "debug": { - "type": "boolean", - "description": "At the moment, it prints out hook names and timings on the server, and logs hook arguments as well in the browser.", - "default": false - }, - "host": { - "type": "string", - "description": "Dev server listening host.", - "default": "" - }, - "port": { - "type": "number", - "description": "Dev server listening port", - "default": 3000 - }, - "ssr": { - "type": "boolean", - "description": "Whether to enable rendering of HTML - either dynamically (in server mode) or at generate time. If set to false generated pages will have no content.", - "default": true - } - }, - "required": [] -} diff --git a/packages/nuxt/src/generators/application/application.spec.ts b/packages/nuxt/src/generators/application/application.spec.ts deleted file mode 100644 index de252e662..000000000 --- a/packages/nuxt/src/generators/application/application.spec.ts +++ /dev/null @@ -1,172 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { readJson, readProjectConfiguration, Tree } from '@nx/devkit'; -import { applicationGenerator } from './application'; -import { Schema } from './schema'; -import { Linter } from '@nx/linter'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); - -describe('app generator', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - - let host: Tree; - const projectName = 'my-app'; - const options: Schema = { - name: projectName, - linter: Linter.EsLint, - unitTestRunner: 'vitest', - e2eTestRunner: 'none', - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should run successfully', async () => { - await applicationGenerator(host, options); - const config = readProjectConfiguration(host, projectName); - expect(config).toBeDefined(); - }); - - it('should extend from root tsconfig.base.json', async () => { - await applicationGenerator(host, options); - - const tsConfig = readJson(host, 'apps/my-app/tsconfig.json'); - expect(tsConfig.extends).toEqual('../../tsconfig.base.json'); - }); - - it('should generate files', async () => { - await applicationGenerator(host, options); - - expect(host.exists('apps/my-app/nuxt.config.ts')).toBeTruthy(); - expect(host.exists('apps/my-app/nuxt.d.ts')).toBeTruthy(); - expect(host.exists('apps/my-app/src/pages/index.vue')).toBeTruthy(); - - const tsconfig = readJson(host, 'apps/my-app/tsconfig.json'); - expect(tsconfig.compilerOptions.allowJs).toEqual(true); - expect(tsconfig.compilerOptions.outDir).toEqual('../../dist/out-tsc'); - const tsconfigApp = readJson(host, 'apps/my-app/tsconfig.app.json'); - expect(tsconfigApp.extends).toEqual('./tsconfig.json'); - expect(tsconfigApp.exclude).toEqual(['./**/*.spec.ts', './**/*.test.ts']); - - const eslintJson = readJson(host, 'apps/my-app/.eslintrc.json'); - expect(eslintJson.extends).toEqual([ - 'eslint:recommended', - '@nuxtjs/eslint-config-typescript', - 'plugin:vue/vue3-essential', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting', - '../../.eslintrc.json', - ]); - }); - - it('should generate files in root', async () => { - await applicationGenerator(host, { ...options, rootProject: true }); - - expect(host.exists('/nuxt.config.ts')).toBeTruthy(); - expect(host.exists('/nuxt.d.ts')).toBeTruthy(); - expect(host.exists('/src/pages/index.vue')).toBeTruthy(); - - const tsconfig = readJson(host, 'tsconfig.json'); - expect(tsconfig.compilerOptions.allowJs).toEqual(true); - expect(tsconfig.compilerOptions.outDir).toEqual('./dist/out-tsc'); - const tsconfigApp = readJson(host, './tsconfig.app.json'); - expect(tsconfigApp.extends).toEqual('./tsconfig.json'); - expect(tsconfigApp.exclude).toEqual(['./**/*.spec.ts', './**/*.test.ts']); - - const eslintJson = readJson(host, '.eslintrc.json'); - expect(eslintJson.extends).toEqual([ - 'eslint:recommended', - '@nuxtjs/eslint-config-typescript', - 'plugin:vue/vue3-essential', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting', - './.eslintrc.json', - ]); - }); - - describe('e2e', () => { - describe('cypress', () => { - it('integrated - should generate files', async () => { - await applicationGenerator(host, { - ...options, - e2eTestRunner: 'cypress', - }); - - expect(host.exists('apps/my-app-e2e/cypress.config.ts')).toBeTruthy(); - const tsconfigE2E = readJson(host, 'apps/my-app-e2e/tsconfig.json'); - expect(tsconfigE2E).toMatchInlineSnapshot(` - Object { - "compilerOptions": Object { - "allowJs": true, - "outDir": "../../dist/out-tsc", - "sourceMap": false, - "types": Array [ - "cypress", - "node", - ], - }, - "extends": "../../tsconfig.base.json", - "include": Array [ - "src/**/*.ts", - "src/**/*.js", - "cypress.config.ts", - ], - } - `); - }); - it('standalone - should generate files', async () => { - await applicationGenerator(host, { - ...options, - rootProject: true, - e2eTestRunner: 'cypress', - }); - - expect(host.exists('e2e/cypress.config.ts')).toBeTruthy(); - const tsconfigE2E = readJson(host, 'e2e/tsconfig.json'); - expect(tsconfigE2E).toMatchInlineSnapshot(` - Object { - "compilerOptions": Object { - "allowJs": true, - "outDir": "../dist/out-tsc", - "sourceMap": false, - "types": Array [ - "cypress", - "node", - ], - }, - "extends": "../tsconfig.base.json", - "include": Array [ - "src/**/*.ts", - "src/**/*.js", - "cypress.config.ts", - ], - } - `); - }); - }); - - describe('playwright', () => { - it('integrated - should generate files', async () => { - await applicationGenerator(host, { - ...options, - e2eTestRunner: 'playwright', - }); - - expect( - host.exists('apps/my-app-e2e/playwright.config.ts') - ).toBeTruthy(); - }); - it('standalone - should generate files', async () => { - await applicationGenerator(host, { - ...options, - rootProject: true, - e2eTestRunner: 'playwright', - }); - - expect(host.exists('e2e/playwright.config.ts')).toBeTruthy(); - }); - }); - }); -}); diff --git a/packages/nuxt/src/generators/application/application.ts b/packages/nuxt/src/generators/application/application.ts deleted file mode 100644 index 1c12ffb46..000000000 --- a/packages/nuxt/src/generators/application/application.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { formatFiles, Tree, runTasksInSerial } from '@nx/devkit'; -import { Schema } from './schema'; -import { addProject } from './lib/add-project'; -import { createApplicationFiles } from './lib/create-application-files'; -import { normalizeOptions } from './lib/normalize-options'; -import { addE2e } from './lib/add-e2e'; -import { addLinting } from './lib/add-linting'; -import initGenerator from '../init/init'; -import { setDefaults } from './lib/set-defaults'; - -export async function applicationGenerator(host: Tree, schema: Schema) { - const options = normalizeOptions(host, schema); - - addProject(host, options); - setDefaults(host, options); - - const initTask = await initGenerator(host, { - ...options, - skipFormat: true, - }); - - createApplicationFiles(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - const lintTask = await addLinting(host, options); - const e2eTask = await addE2e(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, lintTask, e2eTask); -} - -export default applicationGenerator; diff --git a/packages/nuxt/src/generators/application/files/base/.gitignore__tmpl__ b/packages/nuxt/src/generators/application/files/base/.gitignore__tmpl__ deleted file mode 100644 index 4a7f73a2e..000000000 --- a/packages/nuxt/src/generators/application/files/base/.gitignore__tmpl__ +++ /dev/null @@ -1,24 +0,0 @@ -# Nuxt dev/build outputs -.output -.data -.nuxt -.nitro -.cache -dist - -# Node dependencies -node_modules - -# Logs -logs -*.log - -# Misc -.DS_Store -.fleet -.idea - -# Local env files -.env -.env.* -!.env.example diff --git a/packages/nuxt/src/generators/application/files/base/nuxt.config.ts__tmpl__ b/packages/nuxt/src/generators/application/files/base/nuxt.config.ts__tmpl__ deleted file mode 100644 index 9bb37a779..000000000 --- a/packages/nuxt/src/generators/application/files/base/nuxt.config.ts__tmpl__ +++ /dev/null @@ -1,29 +0,0 @@ -import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; - -// https://nuxt.com/docs/api/configuration/nuxt-config -export default defineNuxtConfig({ - devtools: { enabled: true }, - imports: { - autoImport: false - }, - // Sticking to Nx convention of src subdirectory for source files - dir: { - assets: 'src/assets', - layouts: 'src/layouts', - middleware: 'src/middleware', - modules: 'src/modules', - pages: 'src/pages', - plugins: 'src/plugins', - public: 'src/public', - }, - nitro: { - prerender: { - routes: ['/'] - } - }, - vite: { - plugins: [ - nxViteTsPaths() - ], - } -}) diff --git a/packages/nuxt/src/generators/application/files/base/nuxt.d.ts__tmpl__ b/packages/nuxt/src/generators/application/files/base/nuxt.d.ts__tmpl__ deleted file mode 100644 index 36c225c78..000000000 --- a/packages/nuxt/src/generators/application/files/base/nuxt.d.ts__tmpl__ +++ /dev/null @@ -1,4 +0,0 @@ -import "@nuxt/devtools"; -import "@nuxt/telemetry"; -import "nuxt"; -import "vite/client"; diff --git a/packages/nuxt/src/generators/application/files/base/src/pages/index.vue__tmpl__ b/packages/nuxt/src/generators/application/files/base/src/pages/index.vue__tmpl__ deleted file mode 100644 index 7ba6fdbc5..000000000 --- a/packages/nuxt/src/generators/application/files/base/src/pages/index.vue__tmpl__ +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - diff --git a/packages/nuxt/src/generators/application/files/base/src/public/favicon.ico__tmpl__ b/packages/nuxt/src/generators/application/files/base/src/public/favicon.ico__tmpl__ deleted file mode 100644 index 18993ad91cfd43e03b074dd0b5cc3f37ab38e49c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmeHLOKuuL5PjK%MHWVi6lD zOGiREbCw`xmFozJ^aNatJY>w+g ze6a2@u~m#^BZm@8wco9#Crlli0uLb^3E$t2-WIc^#(?t)*@`UpuofJ(Uyh@F>b3Ph z$D^m8Xq~pTkGJ4Q`Q2)te3mgkWYZ^Ijq|hkiP^9`De={bQQ%heZC$QU2UpP(-tbl8 zPWD2abEew;oat@w`uP3J^YpsgT%~jT(Dk%oU}sa$7|n6hBjDj`+I;RX(>)%lm_7N{+B7Mu%H?422lE%MBJH!!YTN2oT7xr>>N-8OF$C&qU^ z>vLsa{$0X%q1fjOe3P1mCv#lN{xQ4_*HCSAZjTb1`}mlc+9rl8$B3OP%VT@mch_~G z7Y+4b{r>9e=M+7vSI;BgB?ryZDY4m>&wcHSn81VH1N~`0gvwH{ z8dv#hG|OK`>1;j7tM#B)Z7zDN?{6=dUal}$edist/out-tsc", - "types": ["node"] - }, - "exclude": ["./**/*.spec.ts", "./**/*.test.ts"], - "include": ["./**/*.ts"] -} diff --git a/packages/nuxt/src/generators/application/files/base/tsconfig.json__tmpl__ b/packages/nuxt/src/generators/application/files/base/tsconfig.json__tmpl__ deleted file mode 100644 index 0597ea49d..000000000 --- a/packages/nuxt/src/generators/application/files/base/tsconfig.json__tmpl__ +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "<%= rootTsConfig %>", - "compilerOptions": { - "forceConsistentCasingInFileNames": true, - "jsx": "preserve", - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "Node", - "skipLibCheck": true, - "allowJs": true, - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "noEmit": true, - "resolveJsonModule": true, - "allowSyntheticDefaultImports": true, - "types": [ - "node" - ] - }, - "include": [ - "./**/*" - ] -} diff --git a/packages/nuxt/src/generators/application/files/base/tsconfig.spec.json__tmpl__ b/packages/nuxt/src/generators/application/files/base/tsconfig.spec.json__tmpl__ deleted file mode 100644 index 853168211..000000000 --- a/packages/nuxt/src/generators/application/files/base/tsconfig.spec.json__tmpl__ +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "types": ["node"] - }, - "include": ["./**/*.ts"] -} diff --git a/packages/nuxt/src/generators/application/lib/add-e2e.ts b/packages/nuxt/src/generators/application/lib/add-e2e.ts deleted file mode 100644 index 5a5dc0b0f..000000000 --- a/packages/nuxt/src/generators/application/lib/add-e2e.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - addProjectConfiguration, - ensurePackage, - getPackageManagerCommand, - joinPathFragments, - NX_VERSION, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addE2e(host: Tree, options: NormalizedSchema) { - if (options.e2eTestRunner === 'cypress') { - await ensurePackage('@nx/cypress', NX_VERSION); - const { cypressProjectGenerator } = await import('@nx/cypress'); - return await cypressProjectGenerator(host, { - ...options, - name: options.e2eProjectName, - directory: options.e2eProjectRoot, - // the name and root are already normalized, instruct the generator to use them as is - projectNameAndRootFormat: 'as-provided', - project: options.appProjectName, - bundler: 'vite', - skipFormat: true, - }); - } - - if (options.e2eTestRunner === 'playwright') { - await ensurePackage('@nx/playwright', NX_VERSION); - const { configurationGenerator } = await import('@nx/playwright'); - addProjectConfiguration(host, options.e2eProjectName, { - root: options.e2eProjectRoot, - sourceRoot: joinPathFragments(options.e2eProjectRoot, 'src'), - targets: {}, - implicitDependencies: [options.appProjectName], - }); - return configurationGenerator(host, { - project: options.e2eProjectName, - skipFormat: true, - skipPackageJson: false, - directory: 'src', - js: false, - linter: options.linter, - setParserOptionsProject: false, - webServerCommand: `${getPackageManagerCommand().exec} nx serve ${ - options.name - }`, - webServerAddress: 'http://localhost:4200', - }); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; -} diff --git a/packages/nuxt/src/generators/application/lib/add-linting.ts b/packages/nuxt/src/generators/application/lib/add-linting.ts deleted file mode 100644 index 9963483c7..000000000 --- a/packages/nuxt/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - extendNextEslintJson, - extraEslintDependencies, -} from '../../utils/lint'; -import { NormalizedSchema } from '../schema'; -import { - addDependenciesToPackageJson, - GeneratorCallback, - joinPathFragments, - Tree, - updateJson, - runTasksInSerial, - ensurePackage, - NX_VERSION, -} from '@nx/devkit'; -import { mapLintPattern } from '@nxext/core'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - const tasks: GeneratorCallback[] = []; - if (options.linter === 'eslint') { - ensurePackage('@nx/linter', NX_VERSION); - const { lintProjectGenerator } = await import('@nx/linter'); - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.appProjectName, - tsConfigPaths: [ - joinPathFragments(options.appProjectRoot, 'tsconfig.app.json'), - ], - unitTestRunner: options.unitTestRunner, - eslintFilePatterns: [ - mapLintPattern( - options.appProjectRoot, - '{ts,tsx,js,jsx,vue}', - options.rootProject - ), - ], - skipFormat: true, - rootProject: options.rootProject, - }); - tasks.push(lintTask); - - updateJson( - host, - joinPathFragments(options.appProjectRoot, '.eslintrc.json'), - extendNextEslintJson - ); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - { - ...extraEslintDependencies.devDependencies, - } - ); - tasks.push(installTask); - } - return runTasksInSerial(...tasks); -} diff --git a/packages/nuxt/src/generators/application/lib/add-project.ts b/packages/nuxt/src/generators/application/lib/add-project.ts deleted file mode 100644 index fb9d85413..000000000 --- a/packages/nuxt/src/generators/application/lib/add-project.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { - addProjectConfiguration, - ProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function addProject(host: Tree, options: NormalizedSchema) { - const project: ProjectConfiguration = { - root: options.appProjectRoot, - sourceRoot: `${options.appProjectRoot}`, - projectType: 'application', - targets: { - build: { - executor: '@nxext/nuxt:build', - outputs: ['{options.outputFile}'], - options: { - outputPath: `dist/${options.appProjectRoot}`, - }, - }, - serve: { - executor: '@nxext/nuxt:serve', - outputs: ['{options.outputFile}'], - }, - }, - tags: options.parsedTags, - }; - - addProjectConfiguration(host, options.appProjectName, { - ...project, - }); -} diff --git a/packages/nuxt/src/generators/application/lib/create-application-files.ts b/packages/nuxt/src/generators/application/lib/create-application-files.ts deleted file mode 100644 index 7e4f2377e..000000000 --- a/packages/nuxt/src/generators/application/lib/create-application-files.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - offsetFromRoot, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { join } from 'path'; -import { getRootTsConfigFileName } from '@nx/js'; - -export function createApplicationFiles(host: Tree, options: NormalizedSchema) { - const templateOptions = { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.appProjectRoot), - rootTsConfig: joinPathFragments( - offsetFromRoot(options.appProjectRoot), - getRootTsConfigFileName(host) - ), - tmpl: '', - }; - generateFiles( - host, - join(__dirname, '../files/base'), - options.appProjectRoot, - templateOptions - ); -} diff --git a/packages/nuxt/src/generators/application/lib/normalize-options.ts b/packages/nuxt/src/generators/application/lib/normalize-options.ts deleted file mode 100644 index ba8c6fae7..000000000 --- a/packages/nuxt/src/generators/application/lib/normalize-options.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - extractLayoutDirectory, - getWorkspaceLayout, - names, - normalizePath, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema, Schema } from '../schema'; - -export function normalizeDirectory(options: Schema) { - const { projectDirectory } = extractLayoutDirectory(options.directory); - return projectDirectory - ? `${names(projectDirectory).fileName}/${names(options.name).fileName}` - : names(options.name).fileName; -} - -export function normalizeProjectName(options: Schema) { - return normalizeDirectory(options).replace(new RegExp('/', 'g'), '-'); -} -export function normalizeOptions( - host: Tree, - options: Schema -): NormalizedSchema { - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const appDirectory = normalizeDirectory(options); - const appProjectName = normalizeProjectName(options); - const { layoutDirectory } = extractLayoutDirectory(options.directory); - const appsDir = layoutDirectory ?? getWorkspaceLayout(host).appsDir; - const appProjectRoot = options.rootProject - ? '.' - : normalizePath(`${appsDir}/${appDirectory}`); - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - const rootProject = false; - let e2eProjectRoot = 'e2e'; - let e2eProjectName = 'e2e'; - if (!options.rootProject) { - e2eProjectName = `${names(options.name).fileName}-e2e`; - e2eProjectRoot = normalizePath(`${appsDir}/${projectDirectory}-e2e`); - } - - return { - ...options, - appProjectName, - e2eProjectName, - e2eProjectRoot, - appProjectRoot, - rootProject, - projectDirectory, - parsedTags, - } as NormalizedSchema; -} diff --git a/packages/nuxt/src/generators/application/lib/set-defaults.ts b/packages/nuxt/src/generators/application/lib/set-defaults.ts deleted file mode 100644 index dba2b759d..000000000 --- a/packages/nuxt/src/generators/application/lib/set-defaults.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { readNxJson, Tree, updateNxJson } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function setDefaults(host: Tree, options: NormalizedSchema) { - if (options.skipNxJson) { - return; - } - - const nxJson = readNxJson(host); - - if (options.rootProject) { - nxJson.defaultProject = options.appProjectName; - } - - nxJson.generators = { - ...(nxJson.generators ?? {}), - '@nxext/nuxt': { - ...(nxJson.generators?.['@nxext/nuxt'] ?? {}), - application: { - linter: options.linter, - ...(nxJson.generators?.['@nxext/nuxt']?.application ?? {}), - }, - }, - }; - - updateNxJson(host, nxJson); -} diff --git a/packages/nuxt/src/generators/application/schema.d.ts b/packages/nuxt/src/generators/application/schema.d.ts deleted file mode 100644 index d5d5ec9e5..000000000 --- a/packages/nuxt/src/generators/application/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface Schema { - name: string; - tags?: string; - directory?: string; - unitTestRunner?: 'vitest' | 'none'; - e2eTestRunner?: 'cypress' | 'playwright' | 'none'; - inSourceTests?: boolean; - linter: Linter; - skipFormat?: boolean; - rootProject?: boolean; - skipNxJson?: boolean; -} -export interface NormalizedSchema extends T { - appProjectRoot: string; - appProjectName: string; - e2eProjectName: string; - e2eProjectRoot: string; - projectDirectory: string; - parsedTags: string[]; - unitTestRunner: 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'playwright' | 'none'; - rootProject: boolean; -} diff --git a/packages/nuxt/src/generators/application/schema.json b/packages/nuxt/src/generators/application/schema.json deleted file mode 100644 index 745643541..000000000 --- a/packages/nuxt/src/generators/application/schema.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "App", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed" - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "none" - }, - "inSourceTests": { - "type": "boolean", - "default": false, - "description": "When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "playwright", "none"], - "description": "Test runner to use for end to end (E2E) tests.", - "default": "cypress" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "tags": { - "type": "string", - "description": "Add tags to the application (used for linting).", - "alias": "t" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - }, - "rootProject": { - "description": "Create a application at the root of the workspace", - "type": "boolean", - "default": false, - "hidden": true - }, - "skipNxJson": { - "description": "Skip updating `nx.json` with default options based on values provided to this app.", - "type": "boolean", - "default": false, - "x-priority": "internal" - } - }, - "required": ["name"] -} diff --git a/packages/nuxt/src/generators/init/init.ts b/packages/nuxt/src/generators/init/init.ts deleted file mode 100644 index c93c92e0a..000000000 --- a/packages/nuxt/src/generators/init/init.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { - addDependenciesToPackageJson, - convertNxGenerator, - ensurePackage, - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, - NX_VERSION, -} from '@nx/devkit'; -import { - nuxtDevtoolsVersion, - nuxtKitVersion, - nuxtVersion, - nxextVueVersion, - vueTestUtilsVersion, - vueTscVersion, - vueVersion, -} from '../utils/versions'; -import { InitSchema } from './schema'; -import { initGenerator as jsInitGenerator } from '@nx/js'; -import { addPluginToNxJson } from '@nxext/core'; - -function updateDependencies(host: Tree) { - const dependencies: Record = { - vue: vueVersion, - }; - - const devDependencies = { - nuxt: nuxtVersion, - 'vue-tsc': vueTscVersion, - '@nuxt/kit': nuxtKitVersion, - '@nuxt/devtools': nuxtDevtoolsVersion, - '@nx/vite': NX_VERSION, - '@vue/test-utils': vueTestUtilsVersion, - '@nxext/vue': nxextVueVersion, - }; - - return addDependenciesToPackageJson(host, dependencies, devDependencies); -} - -export async function initGenerator(host: Tree, schema: InitSchema) { - const tasks: GeneratorCallback[] = []; - - updateDependencies(host); - - if (!schema.e2eTestRunner || schema.e2eTestRunner === 'cypress') { - await ensurePackage('@nx/cypress', NX_VERSION); - const { cypressInitGenerator } = await import('@nx/cypress'); - const cypressTask = await cypressInitGenerator(host, {}); - tasks.push(cypressTask); - } - - await jsInitGenerator(host, { - skipFormat: true, - }); - - await ensurePackage('@nxext/vue', nxextVueVersion); - await ensurePackage('@nx/vite', NX_VERSION); - - // Add plugin for dep graph support of Vue SFCs - addPluginToNxJson('@nxext/vue', host); - - if (!schema.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(...tasks); -} - -export default initGenerator; -export const initSchematic = convertNxGenerator(initGenerator); diff --git a/packages/nuxt/src/generators/init/schema.d.ts b/packages/nuxt/src/generators/init/schema.d.ts deleted file mode 100644 index 3d7480bba..000000000 --- a/packages/nuxt/src/generators/init/schema.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface InitSchema { - unitTestRunner?: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'playwright' | 'none'; - skipFormat: boolean; -} diff --git a/packages/nuxt/src/generators/init/schema.json b/packages/nuxt/src/generators/init/schema.json deleted file mode 100644 index 94874837c..000000000 --- a/packages/nuxt/src/generators/init/schema.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Init", - "title": "", - "type": "object", - "properties": { - "unitTestRunner": { - "type": "string", - "enum": ["jest", "vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "inSourceTests": { - "type": "boolean", - "default": false, - "description": "When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (E2E) tests.", - "default": "cypress" - }, - "tags": { - "type": "string", - "description": "Add tags to the application (used for linting).", - "alias": "t" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": [] -} diff --git a/packages/nuxt/src/generators/utils/lint.ts b/packages/nuxt/src/generators/utils/lint.ts deleted file mode 100644 index 7082013b2..000000000 --- a/packages/nuxt/src/generators/utils/lint.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { - eslintPluginNuxtConfigTypescript, - eslintPluginPrettierVueVersion, - eslintPluginTypescriptVueVersion, - eslintPluginVueVersion, -} from './versions'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - '@nuxtjs/eslint-config-typescript': eslintPluginNuxtConfigTypescript, - 'eslint-plugin-vue': eslintPluginVueVersion, - '@vue/eslint-config-prettier': eslintPluginPrettierVueVersion, - '@vue/eslint-config-typescript': eslintPluginTypescriptVueVersion, - }, -}; - -export const extendNextEslintJson = (json: any) => { - const { extends: pluginExtends, ...config } = json; - - return { - extends: [ - 'eslint:recommended', - '@nuxtjs/eslint-config-typescript', - 'plugin:vue/vue3-essential', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting', - ...(pluginExtends || []), - ], - rules: { - 'vue/multi-word-component-names': 'off', - }, - ...config, - }; -}; diff --git a/packages/nuxt/src/generators/utils/versions.ts b/packages/nuxt/src/generators/utils/versions.ts deleted file mode 100644 index 97f91873f..000000000 --- a/packages/nuxt/src/generators/utils/versions.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const nuxtVersion = '3.6.5'; -export const nuxtKitVersion = '3.6.5'; -export const nuxtDevtoolsVersion = '^0.8.0'; -export const vueVersion = '^3.3.4'; -export const vueTscVersion = '^1.8.8'; -export const vueTestUtilsVersion = '^2.4.1'; -export const nxextVueVersion = '^16.7.0'; -export const eslintPluginNuxtConfigTypescript = '12.0.0'; -export const eslintPluginVueVersion = '^9.14.1'; -export const eslintPluginPrettierVueVersion = '^7.1.0'; -export const eslintPluginTypescriptVueVersion = '^11.0.3'; diff --git a/packages/nuxt/src/index.ts b/packages/nuxt/src/index.ts deleted file mode 100644 index 30192f628..000000000 --- a/packages/nuxt/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { applicationGenerator } from './generators/application/application'; diff --git a/packages/nuxt/tsconfig.json b/packages/nuxt/tsconfig.json deleted file mode 100644 index b71725538..000000000 --- a/packages/nuxt/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "CommonJS" - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/nuxt/tsconfig.lib.json b/packages/nuxt/tsconfig.lib.json deleted file mode 100644 index e3ded94e7..000000000 --- a/packages/nuxt/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "CommonJS", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] -} diff --git a/packages/nuxt/tsconfig.spec.json b/packages/nuxt/tsconfig.spec.json deleted file mode 100644 index 9b2a121d1..000000000 --- a/packages/nuxt/tsconfig.spec.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/packages/preact/README.md b/packages/preact/README.md deleted file mode 100644 index 922ed8e2b..000000000 --- a/packages/preact/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# @nxext/preact - -[![License](https://img.shields.io/npm/l/@nxext/preact.svg?style=flat-square)]() -[![nxext windows CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20windows%20CI/badge.svg)]() -[![nxext macos CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20macos%20CI/badge.svg)]() - -## Getting Started - -Add this plugin to an Nx workspace: - -``` -yarn add --dev @nxext/preact -``` - -or - -``` -npm install @nxext/preact --save-dev -``` - -Generate your project: - -``` -nx g @nxext/preact:app my-app -``` - -Or a library with: - -``` -nx g @nxext/preact:library my-lib -``` - -#Use your project - -- Run `nx build my-app` to build the app -- Run `nx test my-app` to test the app -- Run `nx e2e my-app` to run the e2e tests - -#Documentation - -The full docs are found [here](https://nxext.dev/docs/preact/overview) diff --git a/packages/preact/eslint.config.js b/packages/preact/eslint.config.js deleted file mode 100644 index 770f18c0e..000000000 --- a/packages/preact/eslint.config.js +++ /dev/null @@ -1,33 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { rules: {} }, - { - files: [ - 'packages/preact/**/*.ts', - 'packages/preact/**/*.tsx', - 'packages/preact/**/*.js', - 'packages/preact/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/preact/**/*.ts', 'packages/preact/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/preact/**/*.js', 'packages/preact/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: ['packages/preact/package.json', 'packages/preact/generators.json'], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/preact/generators.json b/packages/preact/generators.json deleted file mode 100644 index f787c5e56..000000000 --- a/packages/preact/generators.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "preact", - "version": "0.1", - "generators": { - "application": { - "factory": "./src/generators/application/application", - "schema": "./src/generators/application/schema.json", - "description": "preact application schematic", - "aliases": ["app"] - }, - "library": { - "factory": "./src/generators/library/library", - "schema": "./src/generators/library/schema.json", - "description": "preact library schematic", - "aliases": ["lib"] - }, - "component": { - "factory": "./src/generators/component/component", - "schema": "./src/generators/component/schema.json", - "description": "Add component", - "aliases": ["c"] - }, - "init": { - "factory": "./src/generators/init/init", - "schema": "./src/generators/init/schema.json", - "description": "Init schematic", - "hidden": true - } - } -} diff --git a/packages/preact/jest.config.ts b/packages/preact/jest.config.ts deleted file mode 100644 index 5ccd1cae0..000000000 --- a/packages/preact/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable */ -export default { - globals: {}, - transform: { - '^.+\\.[tj]sx?$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/packages/preact', - displayName: 'preact', - testEnvironment: 'node', - preset: '../../jest.preset.js', -}; diff --git a/packages/preact/package.json b/packages/preact/package.json deleted file mode 100644 index b1fbd307f..000000000 --- a/packages/preact/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "@nxext/preact", - "version": "16.7.0", - "license": "MIT", - "author": "Jordan Hall", - "description": "Nx plugin for preact", - "homepage": "https://nxext.dev/", - "keywords": [ - "nx", - "nx-plugin", - "preact", - "pwa", - "web components" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/preact" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "main": "src/index.js", - "generators": "./generators.json", - "peerDependencies": { - "@nx/linter": "^16.9.1", - "@nx/jest": "^16.9.1", - "@nx/vite": "^16.9.1", - "@nx/cypress": "^16.9.1", - "typescript": "5.1.6", - "nx": "^16.9.1" - }, - "dependencies": { - "tslib": "^2.3.0", - "@nx/devkit": "^16.9.1" - } -} diff --git a/packages/preact/project.json b/packages/preact/project.json deleted file mode 100644 index dcc796c52..000000000 --- a/packages/preact/project.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "preact", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/preact/src", - "projectType": "library", - "generators": {}, - "targets": { - "lint": { - "executor": "@nx/linter:eslint", - "options": { - "lintFilePatterns": [ - "packages/preact/**/*.ts", - "packages/preact/**/*.spec.ts", - "packages/preact/**/*.spec.tsx", - "packages/preact/**/*.spec.js", - "packages/preact/**/*.spec.jsx", - "packages/preact/**/*.d.ts", - "packages/preact/generators.json", - "packages/preact/package.json", - "packages/preact/project.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "options": { - "jestConfig": "packages/preact/jest.config.ts", - "passWithNoTests": true - }, - "outputs": ["{workspaceRoot}/coverage/packages/preact"] - }, - "build": { - "executor": "@nx/js:tsc", - "options": { - "outputPath": "dist/packages/preact", - "tsConfig": "packages/preact/tsconfig.lib.json", - "packageJson": "packages/preact/package.json", - "main": "packages/preact/src/index.ts", - "assets": [ - "packages/preact/*.md", - { - "input": "./packages/preact/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/preact/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/preact", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/preact", - "glob": "builders.json", - "output": "." - }, - { - "input": "./packages/preact", - "glob": "migrations.json", - "output": "." - } - ] - }, - "outputs": ["{options.outputPath}"] - }, - "publish": { - "command": "node tools/scripts/publish.mjs preact {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/preact/src/generators/application/application.spec.ts b/packages/preact/src/generators/application/application.spec.ts deleted file mode 100644 index d7ca1b687..000000000 --- a/packages/preact/src/generators/application/application.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { PreactApplicationSchema } from './schema'; -import { Linter } from '@nx/linter'; -import applicationGenerator from './application'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree } from '@nx/devkit'; - -describe('Preact app schematic', () => { - let host: Tree; - const options: PreactApplicationSchema = { - name: 'test', - linter: Linter.EsLint, - unitTestRunner: 'jest', - e2eTestRunner: 'cypress', - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - describe('Vite bundle', () => { - it('should add vite specific files', async () => { - await applicationGenerator(host, { ...options }); - expect(host.exists(`apps/${options.name}/public/index.html`)).toBeFalsy(); - expect(host.exists(`apps/${options.name}/index.html`)).toBeTruthy(); - }); - }); -}); diff --git a/packages/preact/src/generators/application/application.ts b/packages/preact/src/generators/application/application.ts deleted file mode 100644 index 79c22ded8..000000000 --- a/packages/preact/src/generators/application/application.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { - convertNxGenerator, - formatFiles, - generateFiles, - getWorkspaceLayout, - joinPathFragments, - names, - offsetFromRoot, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { NormalizedSchema, PreactApplicationSchema } from './schema'; -import { addProject } from './lib/add-project'; -import { initGenerator } from '../init/init'; -import { addLinting } from './lib/add-linting'; -import { addCypress } from './lib/add-cypress'; -import { addJest } from './lib/add-jest'; -import { updateJestConfig } from './lib/update-jest-config'; -import { addVite } from './lib/add-vite'; -import { updateViteConfig } from './lib/update-vite-config'; - -function normalizeOptions( - tree: Tree, - options: PreactApplicationSchema -): NormalizedSchema { - const { appsDir } = getWorkspaceLayout(tree); - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? joinPathFragments(`${names(options.directory).fileName}/${name}`) - : name; - const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); - const fileName = projectName; - const projectRoot = joinPathFragments(`${appsDir}/${projectDirectory}`); - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - return { - ...options, - name: projectName, - projectRoot, - parsedTags, - fileName, - projectDirectory, - skipFormat: false, - }; -} - -function createFiles(host: Tree, options: NormalizedSchema) { - generateFiles( - host, - joinPathFragments(__dirname, './files'), - options.projectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - } - ); - - host.delete(joinPathFragments(`${options.projectRoot}/public/index.html`)); -} - -export async function applicationGenerator( - tree: Tree, - schema: PreactApplicationSchema -) { - const options = normalizeOptions(tree, schema); - - const initTask = await initGenerator(tree, { ...options, skipFormat: true }); - - addProject(tree, options); - createFiles(tree, options); - - const viteTask = await addVite(tree, options); - const lintTask = await addLinting(tree, options); - const jestTask = await addJest(tree, options); - const cypressTask = await addCypress(tree, options); - updateJestConfig(tree, options); - updateViteConfig(tree, options); - - if (!options.skipFormat) { - await formatFiles(tree); - } - - return runTasksInSerial(initTask, viteTask, lintTask, jestTask, cypressTask); -} - -export default applicationGenerator; -export const applicationSchematic = convertNxGenerator(applicationGenerator); diff --git a/packages/preact/src/generators/application/files/eslintrc.js.template b/packages/preact/src/generators/application/files/eslintrc.js.template deleted file mode 100644 index c47ed6eeb..000000000 --- a/packages/preact/src/generators/application/files/eslintrc.js.template +++ /dev/null @@ -1,23 +0,0 @@ -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["preact", "@typescript-eslint"], - "extends": ["<%= offsetFromRoot %>.eslintrc.json"], - "ignorePatterns": ["!**/*", "vite.config.ts"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.tsx"], - "parserOptions": { - "project": ["<%= projectRoot %>/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/packages/preact/src/generators/application/files/index.html.template b/packages/preact/src/generators/application/files/index.html.template deleted file mode 100644 index ebeb8213a..000000000 --- a/packages/preact/src/generators/application/files/index.html.template +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - Preact App - - - -
- - - - diff --git a/packages/preact/src/generators/application/files/package.json.template b/packages/preact/src/generators/application/files/package.json.template deleted file mode 100644 index 07682325b..000000000 --- a/packages/preact/src/generators/application/files/package.json.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1", - "description": "Nx Preact <%= name %> app" -} diff --git a/packages/preact/src/generators/application/files/public/favicon.svg b/packages/preact/src/generators/application/files/public/favicon.svg deleted file mode 100644 index cba835a88..000000000 --- a/packages/preact/src/generators/application/files/public/favicon.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/packages/preact/src/generators/application/files/src/App.module.css b/packages/preact/src/generators/application/files/src/App.module.css deleted file mode 100644 index 48308b24a..000000000 --- a/packages/preact/src/generators/application/files/src/App.module.css +++ /dev/null @@ -1,33 +0,0 @@ -.App { - text-align: center; -} - -.logo { - animation: logo-spin infinite 20s linear; - height: 40vmin; - pointer-events: none; -} - -.header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.link { - color: #b318f0; -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/packages/preact/src/generators/application/files/src/App.tsx.template b/packages/preact/src/generators/application/files/src/App.tsx.template deleted file mode 100644 index c3bcd059a..000000000 --- a/packages/preact/src/generators/application/files/src/App.tsx.template +++ /dev/null @@ -1,25 +0,0 @@ -import { Logo } from './logo'; -import styles from "./App.module.css"; - -function App() { - return ( -
-
- -

- Edit src/App.tsx and save to reload. -

- - Learn Preact - -
-
- ); -} - -export default App; diff --git a/packages/preact/src/generators/application/files/src/index.css b/packages/preact/src/generators/application/files/src/index.css deleted file mode 100644 index 3d36f1648..000000000 --- a/packages/preact/src/generators/application/files/src/index.css +++ /dev/null @@ -1,30 +0,0 @@ -html, -body { - height: 100%; - width: 100%; - padding: 0; - margin: 0; - background: #fafafa; - font-family: 'Helvetica Neue', arial, sans-serif; - font-weight: 400; - color: #444; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -* { - box-sizing: border-box; -} - -#app { - height: 100%; - text-align: center; - background-color: #673ab8; - color: #fff; - font-size: 1.5em; - padding-top: 100px; -} - -.link { - color: #fff; -} diff --git a/packages/preact/src/generators/application/files/src/index.tsx.template b/packages/preact/src/generators/application/files/src/index.tsx.template deleted file mode 100644 index 1460ddcfd..000000000 --- a/packages/preact/src/generators/application/files/src/index.tsx.template +++ /dev/null @@ -1,7 +0,0 @@ -import { render } from 'preact' - -import "./index.css"; -import App from "./App"; - -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -render(, document.getElementById('root')!); diff --git a/packages/preact/src/generators/application/files/src/logo.tsx b/packages/preact/src/generators/application/files/src/logo.tsx deleted file mode 100644 index c6556366a..000000000 --- a/packages/preact/src/generators/application/files/src/logo.tsx +++ /dev/null @@ -1,47 +0,0 @@ -export const Logo = () => ( - -); diff --git a/packages/preact/src/generators/application/files/tsconfig.app.json.template b/packages/preact/src/generators/application/files/tsconfig.app.json.template deleted file mode 100644 index 81fea0efc..000000000 --- a/packages/preact/src/generators/application/files/tsconfig.app.json.template +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - }, - - "include": ["src/**/*"], - "exclude": ["**/*.spec.ts", "**/*_spec.ts", "**/*.spec.tsx", "**/*_spec.tsx", "public/*"], -} diff --git a/packages/preact/src/generators/application/files/tsconfig.json.template b/packages/preact/src/generators/application/files/tsconfig.json.template deleted file mode 100644 index 0e3a71a88..000000000 --- a/packages/preact/src/generators/application/files/tsconfig.json.template +++ /dev/null @@ -1,26 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "strict": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "jsx": "preserve", - "jsxFactory": "h", - "jsxFragmentFactory": "Fragment", - "jsxImportSource": "preact", - "types": ["vite/client"] - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/preact/src/generators/application/files/tsconfig.spec.json.template b/packages/preact/src/generators/application/files/tsconfig.spec.json.template deleted file mode 100644 index 7b2157f49..000000000 --- a/packages/preact/src/generators/application/files/tsconfig.spec.json.template +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.js", - "**/*.spec.tsx", - "**/*.spec.jsx", - "**/*.d.ts" - ] -} diff --git a/packages/preact/src/generators/application/lib/add-cypress.ts b/packages/preact/src/generators/application/lib/add-cypress.ts deleted file mode 100644 index 6b7151e71..000000000 --- a/packages/preact/src/generators/application/lib/add-cypress.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addCypress(host: Tree, options: NormalizedSchema) { - if (options.e2eTestRunner !== 'cypress') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - const { cypressProjectGenerator } = ensurePackage< - typeof import('@nx/cypress') - >('@nx/cypress', NX_VERSION); - - return await cypressProjectGenerator(host, { - name: options.name + '-e2e', - project: options.name, - }); -} diff --git a/packages/preact/src/generators/application/lib/add-jest.ts b/packages/preact/src/generators/application/lib/add-jest.ts deleted file mode 100644 index 19ad02a4d..000000000 --- a/packages/preact/src/generators/application/lib/add-jest.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addJest(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - const { jestProjectGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - - return await jestProjectGenerator(host, { - project: options.name, - supportTsx: false, - skipSerializers: true, - setupFile: 'none', - babelJest: false, - }); -} diff --git a/packages/preact/src/generators/application/lib/add-linting.ts b/packages/preact/src/generators/application/lib/add-linting.ts deleted file mode 100644 index 5251c7046..000000000 --- a/packages/preact/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - ensurePackage, - runTasksInSerial, - NX_VERSION, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - if (options.linter !== 'eslint') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - const { lintProjectGenerator } = ensurePackage( - '@nx/linter', - NX_VERSION - ); - - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,spec.ts,tsx}`], - skipFormat: true, - }); - - host.rename( - joinPathFragments(options.projectRoot, 'eslintrc.js'), - joinPathFragments(options.projectRoot, '.eslintrc.js') - ); - host.delete(joinPathFragments(options.projectRoot, '.eslintrc.json')); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/preact/src/generators/application/lib/add-project.ts b/packages/preact/src/generators/application/lib/add-project.ts deleted file mode 100644 index f6f311036..000000000 --- a/packages/preact/src/generators/application/lib/add-project.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { addProjectConfiguration, Tree } from '@nx/devkit'; -import { createLintTarget } from './create-lint-target'; - -export function addProject(tree: Tree, options: NormalizedSchema) { - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'application', - tags: options.parsedTags, - targets: { lint: createLintTarget(options) }, - }); -} diff --git a/packages/preact/src/generators/application/lib/add-vite.ts b/packages/preact/src/generators/application/lib/add-vite.ts deleted file mode 100644 index 124cdcc85..000000000 --- a/packages/preact/src/generators/application/lib/add-vite.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - const { viteConfigurationGenerator } = ensurePackage< - typeof import('@nx/vite') - >('@nx/vite', NX_VERSION); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - }); -} diff --git a/packages/preact/src/generators/application/lib/create-lint-target.ts b/packages/preact/src/generators/application/lib/create-lint-target.ts deleted file mode 100644 index 542d2b22b..000000000 --- a/packages/preact/src/generators/application/lib/create-lint-target.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { joinPathFragments, TargetConfiguration } from '@nx/devkit'; - -export function createLintTarget( - options: NormalizedSchema -): TargetConfiguration { - return { - executor: '@nx/linter:lint', - options: { - linter: 'eslint', - tsConfig: joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - exclude: [ - '**/node_modules/**', - `!${joinPathFragments(options.projectRoot, '**/*')}`, - ], - }, - }; -} diff --git a/packages/preact/src/generators/application/lib/update-jest-config.ts b/packages/preact/src/generators/application/lib/update-jest-config.ts deleted file mode 100644 index 496f60d56..000000000 --- a/packages/preact/src/generators/application/lib/update-jest-config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { Tree } from '@nx/devkit'; - -export function updateJestConfig(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return; - } - - const jestConfigPath = `${options.projectRoot}/jest.config.ts`; - // const svelteConfigPath = `${options.projectRoot}/jest.config.ts`; - const originalContent = host.read(jestConfigPath)?.toString(); - const content = updateJestConfigContent(originalContent); - host.write(jestConfigPath, content); -} - -function updateJestConfigContent(content: string) { - return content; -} diff --git a/packages/preact/src/generators/application/lib/update-vite-config.ts b/packages/preact/src/generators/application/lib/update-vite-config.ts deleted file mode 100644 index 7c81f7b1d..000000000 --- a/packages/preact/src/generators/application/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - preact(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import preact from '@preact/preset-vite'; - ` - ); -} diff --git a/packages/preact/src/generators/application/schema.d.ts b/packages/preact/src/generators/application/schema.d.ts deleted file mode 100644 index c75863ae6..000000000 --- a/packages/preact/src/generators/application/schema.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface PreactApplicationSchema { - name: string; - tags?: string; - - linter: Linter; - unitTestRunner: 'vitest' | 'jest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - directory?: string; - host?: string; - port?: number; -} - -export interface NormalizedSchema extends PreactApplicationSchema { - projectRoot: string; - projectDirectory: string; - fileName: string; - parsedTags: string[]; - skipFormat: boolean; -} diff --git a/packages/preact/src/generators/application/schema.json b/packages/preact/src/generators/application/schema.json deleted file mode 100644 index 3628b65c6..000000000 --- a/packages/preact/src/generators/application/schema.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Preact", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "vitest" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (e2e) tests.", - "default": "cypress" - }, - "directory": { - "type": "string", - "description": "A directory where the lib is placed.", - "alias": "d" - }, - "port": { - "type": "number", - "description": "Port to listen on.", - "default": 5000 - }, - "host": { - "type": "string", - "description": "Host to listen on.", - "default": "localhost" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/preact/src/generators/component/component.spec.ts b/packages/preact/src/generators/component/component.spec.ts deleted file mode 100644 index 1f71df8f0..000000000 --- a/packages/preact/src/generators/component/component.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -import componentGenerator, { PreactComponentSchema } from './component'; -import { createTestProject } from '../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { names, Tree } from '@nx/devkit'; - -describe('component schematic', () => { - let tree: Tree; - const projectName = uniq('testprojekt'); - const componentName = uniq('test'); - const options: PreactComponentSchema = { - name: componentName, - project: projectName, - unitTestRunner: 'jest', - }; - - beforeEach(async () => { - tree = await createTestProject(projectName); - }); - - it('should run successfully', async () => { - await expect(componentGenerator(tree, options)).resolves.not.toThrowError(); - }); - - it('should add file', async () => { - await componentGenerator(tree, options); - const name = names(componentName); - expect( - tree.exists( - `apps/${projectName}/src/components/${name.fileName}/${name.className}.ts` - ) - ); - }); - - it('should add file to barrel', async () => { - const tree = await createTestProject(projectName, 'library'); - await componentGenerator(tree, options); - const name = names(componentName); - - const indexFile = tree.read(`libs/${projectName}/src/index.ts`); - expect(indexFile.toString('utf-8')).toMatch( - `export { default as ${name.className} } from './components/${name.fileName}/${name.className}.ts';` - ); - }); -}); diff --git a/packages/preact/src/generators/component/component.ts b/packages/preact/src/generators/component/component.ts deleted file mode 100644 index c352eea0d..000000000 --- a/packages/preact/src/generators/component/component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { addExportsToBarrel } from './lib/add-exports-to-barrel'; -import { createComponentInProject } from './lib/create-component-in-project'; -import { convertNxGenerator, Tree } from '@nx/devkit'; - -export interface PreactComponentSchema { - name: string; - project: string; - directory?: string; - unitTestRunner: 'jest' | 'none'; -} - -export async function componentGenerator( - tree: Tree, - options: PreactComponentSchema -) { - createComponentInProject(tree, options); - addExportsToBarrel(tree, options); -} - -export default componentGenerator; -export const componentSchematic = convertNxGenerator(componentGenerator); diff --git a/packages/preact/src/generators/component/files/src/components/__fileName__/__className__.tsx.template b/packages/preact/src/generators/component/files/src/components/__fileName__/__className__.tsx.template deleted file mode 100644 index 2883fa797..000000000 --- a/packages/preact/src/generators/component/files/src/components/__fileName__/__className__.tsx.template +++ /dev/null @@ -1,5 +0,0 @@ -function <%= className %>() { - return

Hello component!

-} - -export default <%= className %>; diff --git a/packages/preact/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template b/packages/preact/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template deleted file mode 100644 index 9be153d54..000000000 --- a/packages/preact/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template +++ /dev/null @@ -1,12 +0,0 @@ -import '@testing-library/jest-dom' -import {h} from 'preact' -import {render, fireEvent} from '@testing-library/preact' - -import <%= className %> from './<%= className %>' - - -it('it works', async () => { - const { getByText } = render(<%= className %>) - - expect(getByText('Hello component!')); -}) diff --git a/packages/preact/src/generators/component/lib/add-exports-to-barrel.ts b/packages/preact/src/generators/component/lib/add-exports-to-barrel.ts deleted file mode 100644 index 7f85fd40d..000000000 --- a/packages/preact/src/generators/component/lib/add-exports-to-barrel.ts +++ /dev/null @@ -1,79 +0,0 @@ -import * as ts from 'typescript'; - -import { PreactComponentSchema } from '../component'; -import { - applyChangesToString, - ChangeType, - joinPathFragments, - names, - readProjectConfiguration, - StringChange, - Tree, -} from '@nx/devkit'; -import { findNodes } from 'nx/src/utils/typescript'; - -export function addExportsToBarrel(tree: Tree, options: PreactComponentSchema) { - const projectConfig = readProjectConfiguration(tree, options.project); - - const { className, fileName } = names(options.name); - const indexFilePath = joinPathFragments(projectConfig.sourceRoot, 'index.ts'); - const componentFile = `./components/${fileName}/${className}.ts`; - - if (projectConfig.projectType === 'library') { - const { content, source } = readSourceFile(tree, indexFilePath); - - const changes = applyChangesToString( - content, - addExport( - source, - `export { default as ${className} } from '${componentFile}';` - ) - ); - tree.write(indexFilePath, changes); - } -} - -export function addExport( - source: ts.SourceFile, - statement: string -): StringChange[] { - const allExports = findNodes(source, ts.SyntaxKind.ExportDeclaration); - if (allExports.length > 0) { - const lastImport = allExports[allExports.length - 1]; - return [ - { - type: ChangeType.Insert, - index: lastImport.end + 1, - text: `\n${statement}\n`, - }, - ]; - } else { - return [ - { - type: ChangeType.Insert, - index: 0, - text: `\n${statement}\n`, - }, - ]; - } -} - -function readSourceFile( - host: Tree, - path: string -): { content: string; source: ts.SourceFile } { - if (!host.exists(path)) { - throw new Error(`Cannot find ${path}`); - } - - const content = host.read(path).toString('utf-8'); - - const source = ts.createSourceFile( - path, - content, - ts.ScriptTarget.Latest, - true - ); - - return { content, source }; -} diff --git a/packages/preact/src/generators/component/lib/create-component-in-project.ts b/packages/preact/src/generators/component/lib/create-component-in-project.ts deleted file mode 100644 index 9ac52d3aa..000000000 --- a/packages/preact/src/generators/component/lib/create-component-in-project.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - readProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { PreactComponentSchema } from '../component'; - -export function createComponentInProject( - tree: Tree, - options: PreactComponentSchema -) { - const projectConfig = readProjectConfiguration(tree, options.project); - const projectDirectory = options.directory - ? joinPathFragments(options.directory) - : ''; - - generateFiles( - tree, - joinPathFragments(__dirname, '../files/src'), - joinPathFragments(`${projectConfig.sourceRoot}/${projectDirectory}`), - names(options.name) - ); -} diff --git a/packages/preact/src/generators/component/schema.json b/packages/preact/src/generators/component/schema.json deleted file mode 100644 index d5ac1ec65..000000000 --- a/packages/preact/src/generators/component/schema.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Component", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "project": { - "type": "string", - "description": "Project where the component is generated", - "x-prompt": "What project would you like to use?", - "alias": "p" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - } - }, - "required": ["name", "project"] -} diff --git a/packages/preact/src/generators/init/init.spec.ts b/packages/preact/src/generators/init/init.spec.ts deleted file mode 100644 index b8f49a4dd..000000000 --- a/packages/preact/src/generators/init/init.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Schema } from './schema'; -import { initGenerator } from './init'; -import { readJson, Tree } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; - -describe('init schematic', () => { - let host: Tree; - const options: Schema = { - skipFormat: true, - unitTestRunner: 'vitest', - e2eTestRunner: 'cypress', - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should add Preact dependencies', async () => { - await initGenerator(host, options); - - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['preact']).toBeDefined(); - }); -}); diff --git a/packages/preact/src/generators/init/init.ts b/packages/preact/src/generators/init/init.ts deleted file mode 100644 index c59697843..000000000 --- a/packages/preact/src/generators/init/init.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Schema } from './schema'; -import { formatFiles, Tree, runTasksInSerial } from '@nx/devkit'; -import { addJestPlugin } from './lib/add-jest-plugin'; -import { addCypressPlugin } from './lib/add-cypress-plugin'; -import { updateDependencies } from './lib/add-dependencies'; - -export async function initGenerator(host: Tree, options: Schema) { - const installTask = updateDependencies(host); - const jestTask = await addJestPlugin(host, options); - const cypressTask = await addCypressPlugin(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - return runTasksInSerial(installTask, jestTask, cypressTask); -} diff --git a/packages/preact/src/generators/init/lib/add-cypress-plugin.ts b/packages/preact/src/generators/init/lib/add-cypress-plugin.ts deleted file mode 100644 index 3a77eee54..000000000 --- a/packages/preact/src/generators/init/lib/add-cypress-plugin.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { Schema } from '../schema'; - -export async function addCypressPlugin(host: Tree, options: Schema) { - if (options.e2eTestRunner !== 'cypress') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - const { cypressInitGenerator } = ensurePackage( - '@nx/cypress', - NX_VERSION - ); - - return cypressInitGenerator(host, {}); -} diff --git a/packages/preact/src/generators/init/lib/add-dependencies.ts b/packages/preact/src/generators/init/lib/add-dependencies.ts deleted file mode 100644 index 09fdd1c46..000000000 --- a/packages/preact/src/generators/init/lib/add-dependencies.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; -import { - eslintPluginPreactVersion, - preactVersion, - testingLibraryPreactVersion, - vitePluginPreactVersion, -} from '../../utils/versions'; - -export function updateDependencies(tree: Tree) { - return addDependenciesToPackageJson( - tree, - {}, - { - preact: preactVersion, - '@testing-library/preact': testingLibraryPreactVersion, - '@preact/preset-vite': vitePluginPreactVersion, - 'eslint-plugin-preact': eslintPluginPreactVersion, - } - ); -} diff --git a/packages/preact/src/generators/init/lib/add-jest-plugin.ts b/packages/preact/src/generators/init/lib/add-jest-plugin.ts deleted file mode 100644 index 7f0c37804..000000000 --- a/packages/preact/src/generators/init/lib/add-jest-plugin.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { Schema } from '../schema'; - -export async function addJestPlugin(host: Tree, options: Schema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - - const { jestInitGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - - return await jestInitGenerator(host, {}); -} diff --git a/packages/preact/src/generators/init/schema.d.ts b/packages/preact/src/generators/init/schema.d.ts deleted file mode 100644 index f1c15e671..000000000 --- a/packages/preact/src/generators/init/schema.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface Schema { - unitTestRunner: 'vitest' | 'jest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - bundler?: 'vite'; - skipFormat: boolean; -} diff --git a/packages/preact/src/generators/init/schema.json b/packages/preact/src/generators/init/schema.json deleted file mode 100644 index 5c9789384..000000000 --- a/packages/preact/src/generators/init/schema.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Init", - "title": "", - "type": "object", - "properties": { - "unitTestRunner": { - "description": "Adds the specified unit test runner.", - "type": "string", - "enum": ["vitest", "jest", "none"], - "default": "vitest" - }, - "e2eTestRunner": { - "description": "Adds the specified e2e test runner.", - "type": "string", - "enum": ["cypress", "none"], - "default": "cypress" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": [] -} diff --git a/packages/preact/src/generators/library/files/eslintrc.js.template b/packages/preact/src/generators/library/files/eslintrc.js.template deleted file mode 100644 index c47ed6eeb..000000000 --- a/packages/preact/src/generators/library/files/eslintrc.js.template +++ /dev/null @@ -1,23 +0,0 @@ -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["preact", "@typescript-eslint"], - "extends": ["<%= offsetFromRoot %>.eslintrc.json"], - "ignorePatterns": ["!**/*", "vite.config.ts"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.tsx"], - "parserOptions": { - "project": ["<%= projectRoot %>/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/packages/preact/src/generators/library/files/package.json.template b/packages/preact/src/generators/library/files/package.json.template deleted file mode 100644 index 64586da82..000000000 --- a/packages/preact/src/generators/library/files/package.json.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1", - "description": "Nx Preact <%= name %> lib" -} diff --git a/packages/preact/src/generators/library/files/src/index.ts.template b/packages/preact/src/generators/library/files/src/index.ts.template deleted file mode 100644 index 8cec2e9ce..000000000 --- a/packages/preact/src/generators/library/files/src/index.ts.template +++ /dev/null @@ -1 +0,0 @@ -export {}; \ No newline at end of file diff --git a/packages/preact/src/generators/library/files/tsconfig.json.template b/packages/preact/src/generators/library/files/tsconfig.json.template deleted file mode 100644 index 2ab6407f0..000000000 --- a/packages/preact/src/generators/library/files/tsconfig.json.template +++ /dev/null @@ -1,26 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "strict": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "jsx": "preserve", - "jsxFactory": "h", - "jsxFragmentFactory": "Fragment", - "jsxImportSource": "preact", - "types": ["vite/client"] - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/preact/src/generators/library/files/tsconfig.lib.json.template b/packages/preact/src/generators/library/files/tsconfig.lib.json.template deleted file mode 100644 index 81fea0efc..000000000 --- a/packages/preact/src/generators/library/files/tsconfig.lib.json.template +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - }, - - "include": ["src/**/*"], - "exclude": ["**/*.spec.ts", "**/*_spec.ts", "**/*.spec.tsx", "**/*_spec.tsx", "public/*"], -} diff --git a/packages/preact/src/generators/library/files/tsconfig.spec.json.template b/packages/preact/src/generators/library/files/tsconfig.spec.json.template deleted file mode 100644 index 27c984e3e..000000000 --- a/packages/preact/src/generators/library/files/tsconfig.spec.json.template +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts" - ] -} diff --git a/packages/preact/src/generators/library/lib/add-jest.ts b/packages/preact/src/generators/library/lib/add-jest.ts deleted file mode 100644 index 19ad02a4d..000000000 --- a/packages/preact/src/generators/library/lib/add-jest.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addJest(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - const { jestProjectGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - - return await jestProjectGenerator(host, { - project: options.name, - supportTsx: false, - skipSerializers: true, - setupFile: 'none', - babelJest: false, - }); -} diff --git a/packages/preact/src/generators/library/lib/add-linting.ts b/packages/preact/src/generators/library/lib/add-linting.ts deleted file mode 100644 index b38c80751..000000000 --- a/packages/preact/src/generators/library/lib/add-linting.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - ensurePackage, - runTasksInSerial, - NX_VERSION, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - if (options.linter !== 'eslint') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - const { lintProjectGenerator } = ensurePackage( - '@nx/linter', - NX_VERSION - ); - - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.lib.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,spec.ts}`], - skipFormat: true, - }); - - host.rename( - joinPathFragments(options.projectRoot, 'eslintrc.js'), - joinPathFragments(options.projectRoot, '.eslintrc.js') - ); - host.delete(joinPathFragments(options.projectRoot, '.eslintrc.json')); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/preact/src/generators/library/lib/add-project.ts b/packages/preact/src/generators/library/lib/add-project.ts deleted file mode 100644 index 25d83926f..000000000 --- a/packages/preact/src/generators/library/lib/add-project.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { addProjectConfiguration, TargetConfiguration, Tree } from '@nx/devkit'; - -export function addProject(tree: Tree, options: NormalizedSchema) { - const targets: { [key: string]: TargetConfiguration } = { - lint: createLintTarget(options), - }; - - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'library', - tags: options.parsedTags, - targets, - }); -} - -function createLintTarget(options: NormalizedSchema): TargetConfiguration { - return { - executor: '@nx/linter:lint', - options: { - linter: 'eslint', - tsConfig: `${options.projectRoot}/tsconfig.lib.json`, - exclude: ['**/node_modules/**', `!${options.projectRoot}/**/*`], - }, - }; -} diff --git a/packages/preact/src/generators/library/lib/add-vite.ts b/packages/preact/src/generators/library/lib/add-vite.ts deleted file mode 100644 index 733c325a6..000000000 --- a/packages/preact/src/generators/library/lib/add-vite.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - await ensurePackage('@nx/vite', NX_VERSION); - const { viteConfigurationGenerator } = await import('@nx/vite'); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - }); -} diff --git a/packages/preact/src/generators/library/lib/add-vitest.ts b/packages/preact/src/generators/library/lib/add-vitest.ts deleted file mode 100644 index c42740f20..000000000 --- a/packages/preact/src/generators/library/lib/add-vitest.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVitest(host: Tree, options: NormalizedSchema) { - if ( - !options.buildable && - !options.publishable && - options.unitTestRunner === 'vitest' - ) { - const { vitestGenerator } = ensurePackage( - '@nx/vite', - NX_VERSION - ); - - return await vitestGenerator(host, { - uiFramework: 'none', - project: options.name, - coverageProvider: 'c8', - inSourceTests: false, - skipFormat: true, - }); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; -} diff --git a/packages/preact/src/generators/library/lib/update-jest-config.ts b/packages/preact/src/generators/library/lib/update-jest-config.ts deleted file mode 100644 index 9af8b735f..000000000 --- a/packages/preact/src/generators/library/lib/update-jest-config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { Tree } from '@nx/devkit'; - -export function updateJestConfig(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return; - } - - const configPath = `${options.projectRoot}/jest.config.ts`; - const originalContent = host.read(configPath)?.toString(); - const content = updateJestConfigContent(originalContent); - host.write(configPath, content); -} - -function updateJestConfigContent(content: string) { - return content; -} diff --git a/packages/preact/src/generators/library/lib/update-tsconfig.ts b/packages/preact/src/generators/library/lib/update-tsconfig.ts deleted file mode 100644 index 3560dd1d6..000000000 --- a/packages/preact/src/generators/library/lib/update-tsconfig.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { - getWorkspaceLayout, - joinPathFragments, - Tree, - updateJson, -} from '@nx/devkit'; - -export function updateTsConfig(tree: Tree, options: NormalizedSchema) { - const { libsDir } = getWorkspaceLayout(tree); - - return updateJson(tree, 'tsconfig.base.json', (json) => { - const c = json.compilerOptions; - c.paths = c.paths || {}; - delete c.paths[options.importPath]; - - if (c.paths[options.importPath]) { - throw new Error( - `You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.` - ); - } - - c.paths[options.importPath] = [ - joinPathFragments(`${libsDir}/${options.projectDirectory}/src/index.ts`), - ]; - return json; - }); -} diff --git a/packages/preact/src/generators/library/lib/update-vite-config.ts b/packages/preact/src/generators/library/lib/update-vite-config.ts deleted file mode 100644 index 7c81f7b1d..000000000 --- a/packages/preact/src/generators/library/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - preact(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import preact from '@preact/preset-vite'; - ` - ); -} diff --git a/packages/preact/src/generators/library/library.spec.ts b/packages/preact/src/generators/library/library.spec.ts deleted file mode 100644 index 66d4c25f7..000000000 --- a/packages/preact/src/generators/library/library.spec.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { PreactLibrarySchema } from './schema'; -import { Linter } from '@nx/linter'; -import { readJson } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from './library'; - -describe('preact library schematic', () => { - let host; - const options: PreactLibrarySchema = { - name: 'test', - linter: Linter.EsLint, - unitTestRunner: 'jest', - e2eTestRunner: 'cypress', - skipFormat: false, - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should add preact dependencies', async () => { - await libraryGenerator(host, options); - const packageJson = readJson(host, 'package.json'); - - expect(packageJson.devDependencies['preact']).toBeDefined(); - }); - - it('should add preact project files', async () => { - await libraryGenerator(host, options); - - // expect(tree.exists(`libs/${options.name}/preact.config.cjs`)).toBeTruthy(); - expect(host.exists(`libs/${options.name}/tsconfig.lib.json`)).toBeTruthy(); - expect(host.exists(`libs/${options.name}/tsconfig.spec.json`)).toBeTruthy(); - expect(host.exists(`libs/${options.name}/tsconfig.json`)).toBeTruthy(); - expect(host.exists(`libs/${options.name}/.eslintrc.json`)).toBeFalsy(); - expect(host.exists(`libs/${options.name}/.eslintrc.js`)).toBeTruthy(); - }); - - it('should fail if no importPath is provided with publishable', async () => { - try { - await libraryGenerator(host, { - ...options, - publishable: true, - }); - } catch (error) { - expect(error.message).toContain( - 'For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)' - ); - } - }); -}); diff --git a/packages/preact/src/generators/library/library.ts b/packages/preact/src/generators/library/library.ts deleted file mode 100644 index d3d99ffd1..000000000 --- a/packages/preact/src/generators/library/library.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { NormalizedSchema, PreactLibrarySchema } from './schema'; -import { initGenerator } from '../init/init'; -import { addProject } from './lib/add-project'; -import { updateTsConfig } from './lib/update-tsconfig'; -import { - convertNxGenerator, - formatFiles, - generateFiles, - getWorkspaceLayout, - joinPathFragments, - names, - offsetFromRoot, - Tree, - updateJson, - runTasksInSerial, -} from '@nx/devkit'; -import { addLinting } from './lib/add-linting'; -import { addJest } from './lib/add-jest'; -import { updateJestConfig } from './lib/update-jest-config'; -import { addVite } from './lib/add-vite'; -import { addVitest } from './lib/add-vitest'; -import { updateViteConfig } from './lib/update-vite-config'; - -function normalizeOptions( - tree: Tree, - options: PreactLibrarySchema -): NormalizedSchema { - const { libsDir, npmScope } = getWorkspaceLayout(tree); - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); - const fileName = projectName; - const projectRoot = joinPathFragments(`${libsDir}/${projectDirectory}`); - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - const importPath = options.importPath || `@${npmScope}/${projectDirectory}`; - - return { - ...options, - name: projectName, - projectRoot, - parsedTags, - fileName, - projectDirectory, - importPath, - }; -} - -function createFiles(host: Tree, options: NormalizedSchema) { - generateFiles( - host, - joinPathFragments(__dirname, './files'), - options.projectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - } - ); - - if (!options.publishable && !options.buildable) { - host.delete(`${options.projectRoot}/package.json`); - } -} - -function updateLibPackageNpmScope(host: Tree, options: NormalizedSchema) { - return updateJson(host, `${options.projectRoot}/package.json`, (json) => { - json.name = options.importPath; - return json; - }); -} - -export async function libraryGenerator( - host: Tree, - schema: PreactLibrarySchema -) { - const options = normalizeOptions(host, schema); - if (options.publishable === true && !schema.importPath) { - throw new Error( - `For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)` - ); - } - - const initTask = await initGenerator(host, { ...options, skipFormat: true }); - - addProject(host, options); - createFiles(host, options); - - const viteTask = await addVite(host, options); - const vitestTask = await addVitest(host, options); - const lintTask = await addLinting(host, options); - const jestTask = await addJest(host, options); - - updateTsConfig(host, options); - updateJestConfig(host, options); - updateViteConfig(host, options); - - if (options.publishable || options.buildable) { - updateLibPackageNpmScope(host, options); - } - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, viteTask, vitestTask, lintTask, jestTask); -} - -export default libraryGenerator; -export const librarySchematic = convertNxGenerator(libraryGenerator); diff --git a/packages/preact/src/generators/library/schema.d.ts b/packages/preact/src/generators/library/schema.d.ts deleted file mode 100644 index 0e9e83ee8..000000000 --- a/packages/preact/src/generators/library/schema.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface PreactLibrarySchema { - name: string; - tags?: string; - - linter: Linter; - unitTestRunner: 'vitest' | 'jest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - buildable?: boolean; - directory?: string; - publishable?: boolean; - importPath?: string; - skipFormat: boolean; -} - -export interface NormalizedSchema extends PreactLibrarySchema { - projectRoot: string; - projectDirectory: string; - fileName: string; - parsedTags: string[]; - importPath: string; -} diff --git a/packages/preact/src/generators/library/schema.json b/packages/preact/src/generators/library/schema.json deleted file mode 100644 index 7936d2f9d..000000000 --- a/packages/preact/src/generators/library/schema.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Preact", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (e2e) tests.", - "default": "cypress" - }, - "directory": { - "type": "string", - "description": "A directory where the lib is placed.", - "alias": "d" - }, - "publishable": { - "type": "boolean", - "description": "Create a publishable library." - }, - "buildable": { - "type": "boolean", - "default": false, - "description": "Generate a buildable library." - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like @myorg/my-awesome-lib" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/preact/src/generators/utils/lint.ts b/packages/preact/src/generators/utils/lint.ts deleted file mode 100644 index ea5546096..000000000 --- a/packages/preact/src/generators/utils/lint.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { offsetFromRoot } from '@nx/devkit'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - 'eslint-config-preact': '^1.2.0', - }, -}; - -export const createPreactEslintJson = (projectRoot: string) => ` -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["preact", "@typescript-eslint"], - "extends": ["${offsetFromRoot(projectRoot)}/.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.js"], - "parserOptions": { - "project": ["${projectRoot}/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -}`; diff --git a/packages/preact/src/generators/utils/testing.ts b/packages/preact/src/generators/utils/testing.ts deleted file mode 100644 index 8d2cef75c..000000000 --- a/packages/preact/src/generators/utils/testing.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import applicationGenerator from '../application/application'; -import { ProjectType, Tree } from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import { libraryGenerator } from '../library/library'; - -export async function createTestProject( - name: string, - type: ProjectType = 'application', - unitTestrunner: 'none' | 'jest' = 'none', - e2eTestrunner: 'none' | 'cypress' = 'none' -): Promise { - const host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - - if (type === 'application') { - await applicationGenerator(host, { - name: name, - linter: Linter.EsLint, - unitTestRunner: unitTestrunner, - e2eTestRunner: e2eTestrunner, - }); - } - if (type === 'library') { - await libraryGenerator(host, { - name: name, - linter: Linter.EsLint, - unitTestRunner: unitTestrunner, - e2eTestRunner: e2eTestrunner, - skipFormat: false, - }); - } - - return host; -} diff --git a/packages/preact/src/generators/utils/versions.ts b/packages/preact/src/generators/utils/versions.ts deleted file mode 100644 index b0e45b419..000000000 --- a/packages/preact/src/generators/utils/versions.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const preactVersion = '^10.14.0'; -export const testingLibraryPreactVersion = '^3.2.3'; -export const vitePluginPreactVersion = '^2.5.0'; -export const eslintPluginPreactVersion = '^0.1.0'; diff --git a/packages/preact/src/index.ts b/packages/preact/src/index.ts deleted file mode 100644 index 4f9f36616..000000000 --- a/packages/preact/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { libraryGenerator } from './generators/library/library'; -export { applicationGenerator } from './generators/application/application'; -export { componentGenerator } from './generators/component/component'; diff --git a/packages/preact/tsconfig.json b/packages/preact/tsconfig.json deleted file mode 100644 index 62ebbd946..000000000 --- a/packages/preact/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/preact/tsconfig.lib.json b/packages/preact/tsconfig.lib.json deleted file mode 100644 index 3ce6be94e..000000000 --- a/packages/preact/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "jest.config.ts"], - "include": ["**/*.ts"] -} diff --git a/packages/preact/tsconfig.spec.json b/packages/preact/tsconfig.spec.json deleted file mode 100644 index 831ab6481..000000000 --- a/packages/preact/tsconfig.spec.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts", - "jest.config.ts" - ] -} diff --git a/packages/solid/README.md b/packages/solid/README.md deleted file mode 100644 index a9b662b33..000000000 --- a/packages/solid/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# @nxext/solid - -[![License](https://img.shields.io/npm/l/@nxext/solid.svg?style=flat-square)]() -[![nxext windows CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20windows%20CI/badge.svg)]() -[![nxext macos CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20macos%20CI/badge.svg)]() - -## Getting Started - -Add this plugin to an Nx workspace: - -``` -yarn add --dev @nxext/solid -``` - -or - -``` -npm install @nxext/solid --save-dev -``` - -Generate your project: - -``` -nx g @nxext/solid:app my-app -``` - -Or a library with: - -``` -nx g @nxext/solid:library my-lib -``` - -#Use your project - -- Run `nx build my-app` to build the app -- Run `nx test my-app` to test the app -- Run `nx e2e my-app` to run the e2e tests - -#Documentation - -The full docs are found [here](https://nxext.dev/docs/solid/overview) diff --git a/packages/solid/eslint.config.js b/packages/solid/eslint.config.js deleted file mode 100644 index 4beaff93b..000000000 --- a/packages/solid/eslint.config.js +++ /dev/null @@ -1,33 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { rules: {} }, - { - files: [ - 'packages/solid/**/*.ts', - 'packages/solid/**/*.tsx', - 'packages/solid/**/*.js', - 'packages/solid/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/solid/**/*.ts', 'packages/solid/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/solid/**/*.js', 'packages/solid/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: ['packages/solid/package.json', 'packages/solid/generators.json'], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/solid/generators.json b/packages/solid/generators.json deleted file mode 100644 index f7788adf9..000000000 --- a/packages/solid/generators.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "solid", - "version": "0.1", - "generators": { - "application": { - "factory": "./src/generators/application/application", - "schema": "./src/generators/application/schema.json", - "description": "Solid application schematic", - "aliases": ["app"] - }, - "library": { - "factory": "./src/generators/library/library", - "schema": "./src/generators/library/schema.json", - "description": "Solid library schematic", - "aliases": ["lib"] - }, - "component": { - "factory": "./src/generators/component/component", - "schema": "./src/generators/component/schema.json", - "description": "Add component", - "aliases": ["c"] - }, - "init": { - "factory": "./src/generators/init/init", - "schema": "./src/generators/init/schema.json", - "description": "Init schematic", - "hidden": true - } - } -} diff --git a/packages/solid/jest.config.ts b/packages/solid/jest.config.ts deleted file mode 100644 index faff3850a..000000000 --- a/packages/solid/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable */ -export default { - globals: {}, - transform: { - '^.+\\.[tj]sx?$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/packages/solid', - displayName: 'solid', - testEnvironment: 'node', - preset: '../../jest.preset.js', -}; diff --git a/packages/solid/migrations.json b/packages/solid/migrations.json deleted file mode 100644 index 65a4590b7..000000000 --- a/packages/solid/migrations.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "generators": {} -} diff --git a/packages/solid/package.json b/packages/solid/package.json deleted file mode 100644 index 64d7e851d..000000000 --- a/packages/solid/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "@nxext/solid", - "version": "16.8.0", - "license": "MIT", - "author": "Dominik Pieper", - "description": "Nx plugin for solid", - "homepage": "https://nxext.dev/", - "keywords": [ - "nx", - "nx-plugin", - "solid", - "pwa", - "web components" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/solid" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "main": "src/index.js", - "generators": "./generators.json", - "dependencies": { - "nx": "^16.9.1", - "@nx/devkit": "^16.9.1", - "typescript": "5.1.6", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@nx/linter": "^16.9.1", - "@nx/vite": "^16.9.1", - "@nx/jest": "^16.9.1", - "@nx/cypress": "^16.9.1" - }, - "nx-migrate": { - "migrations": "./migrations.json" - } -} diff --git a/packages/solid/project.json b/packages/solid/project.json deleted file mode 100644 index a895568f8..000000000 --- a/packages/solid/project.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "solid", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/solid/src", - "projectType": "library", - "generators": {}, - "targets": { - "lint": { - "executor": "@nx/linter:eslint", - "options": { - "lintFilePatterns": [ - "packages/solid/**/*.ts", - "packages/solid/**/*.spec.ts", - "packages/solid/**/*.spec.tsx", - "packages/solid/**/*.spec.js", - "packages/solid/**/*.spec.jsx", - "packages/solid/**/*.d.ts", - "packages/solid/generators.json", - "packages/solid/package.json", - "packages/solid/project.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "options": { - "jestConfig": "packages/solid/jest.config.ts", - "passWithNoTests": true - }, - "outputs": ["{workspaceRoot}/coverage/packages/solid"] - }, - "build": { - "executor": "@nx/js:tsc", - "options": { - "outputPath": "dist/packages/solid", - "tsConfig": "packages/solid/tsconfig.lib.json", - "packageJson": "packages/solid/package.json", - "main": "packages/solid/src/index.ts", - "assets": [ - "packages/solid/*.md", - { - "input": "./packages/solid/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/solid/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/solid", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/solid", - "glob": "builders.json", - "output": "." - }, - { - "input": "./packages/solid", - "glob": "migrations.json", - "output": "." - } - ] - }, - "outputs": ["{options.outputPath}"] - }, - "publish": { - "command": "node tools/scripts/publish.mjs solid {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/solid/src/generators/application/application.spec.ts b/packages/solid/src/generators/application/application.spec.ts deleted file mode 100644 index e48ac48ed..000000000 --- a/packages/solid/src/generators/application/application.spec.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Schema } from './schema'; -import { Linter } from '@nx/linter'; -import applicationGenerator from './application'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree } from '@nx/devkit'; - -describe('Solid app generator', () => { - let tree: Tree; - const options: Schema = { - name: 'myApp', - linter: Linter.EsLint, - unitTestRunner: 'vitest', - e2eTestRunner: 'cypress', - projectNameAndRootFormat: 'derived', - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - describe('Vite bundle', () => { - it('should add vite specific files', async () => { - await applicationGenerator(tree, { ...options }); - expect(tree.exists(`apps/my-app/public/index.html`)).toBeFalsy(); - expect(tree.exists(`apps/my-app/index.html`)).toBeTruthy(); - }); - - it('should add vite specific files as rootProject', async () => { - await applicationGenerator(tree, { ...options, rootProject: true }); - expect(tree.exists(`public/index.html`)).toBeFalsy(); - expect(tree.exists(`index.html`)).toBeTruthy(); - }); - }); -}); diff --git a/packages/solid/src/generators/application/application.ts b/packages/solid/src/generators/application/application.ts deleted file mode 100644 index e26e3bc87..000000000 --- a/packages/solid/src/generators/application/application.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { - convertNxGenerator, - formatFiles, - names, - Tree, - runTasksInSerial, - GeneratorCallback, -} from '@nx/devkit'; -import { NormalizedSchema, Schema } from './schema'; -import { addProject } from './lib/add-project'; -import { initGenerator } from '../init/init'; -import { addLinting } from './lib/add-linting'; -import { addCypress } from './lib/add-cypress'; -import { addJest } from './lib/add-jest'; -import { updateJestConfig } from './lib/update-jest-config'; -import { addVite } from './lib/add-vite'; -import { updateViteConfig } from './lib/update-vite-config'; -import { createFiles } from './lib/create-project-files'; -import { determineProjectNameAndRootOptions } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -async function normalizeOptions( - host: Tree, - options: Schema, - callingGenerator = '@nxext/solid:application' -): Promise> { - const { - projectName: appProjectName, - projectRoot: appProjectRoot, - projectNameAndRootFormat, - } = await determineProjectNameAndRootOptions(host, { - name: options.name, - projectType: 'application', - directory: options.directory, - projectNameAndRootFormat: options.projectNameAndRootFormat, - rootProject: options.rootProject, - callingGenerator, - }); - options.rootProject = appProjectRoot === '.'; - options.projectNameAndRootFormat = projectNameAndRootFormat; - - const e2eProjectName = options.rootProject ? 'e2e' : `${appProjectName}-e2e`; - const e2eProjectRoot = options.rootProject ? 'e2e' : `${appProjectRoot}-e2e`; - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - //const fileName = options.pascalCaseFiles ? 'App' : 'app'; - const fileName = 'App'; - - return { - ...options, - name: names(options.name).fileName, - projectName: appProjectName, - appProjectRoot, - e2eProjectName, - e2eProjectRoot, - parsedTags, - fileName, - skipFormat: false, - }; -} - -export async function applicationGenerator( - host: Tree, - schema: Schema -): Promise { - return await applicationGeneratorInternal(host, { - projectNameAndRootFormat: 'derived', - ...schema, - }); -} - -export async function applicationGeneratorInternal(tree: Tree, schema: Schema) { - const options = await normalizeOptions(tree, schema); - - const initTask = await initGenerator(tree, { ...options, skipFormat: true }); - - addProject(tree, options); - createFiles(tree, options); - - const viteTask = await addVite(tree, options); - const lintTask = await addLinting(tree, options); - const jestTask = await addJest(tree, options); - const cypressTask = await addCypress(tree, options); - - updateJestConfig(tree, options); - updateViteConfig(tree, options); - - if (!options.skipFormat) { - await formatFiles(tree); - } - - return runTasksInSerial(initTask, viteTask, lintTask, jestTask, cypressTask); -} - -export default applicationGenerator; -export const applicationSchematic = convertNxGenerator(applicationGenerator); diff --git a/packages/solid/src/generators/application/files/eslintrc.js.template b/packages/solid/src/generators/application/files/eslintrc.js.template deleted file mode 100644 index 167086945..000000000 --- a/packages/solid/src/generators/application/files/eslintrc.js.template +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["solid", "@typescript-eslint"], - "extends": ["<%= offsetFromRoot %>.eslintrc.json"], - "ignorePatterns": ["!**/*", "vite.config.ts"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.tsx"], - "parserOptions": { - "project": ["<%= appProjectRoot %>/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ], - "settings": { - 'solid/typescript': require('typescript') - } -} diff --git a/packages/solid/src/generators/application/files/index.html.template b/packages/solid/src/generators/application/files/index.html.template deleted file mode 100644 index 48c59fc12..000000000 --- a/packages/solid/src/generators/application/files/index.html.template +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - Solid App - - - -
- - - - diff --git a/packages/solid/src/generators/application/files/package.json.template b/packages/solid/src/generators/application/files/package.json.template deleted file mode 100644 index d0548999c..000000000 --- a/packages/solid/src/generators/application/files/package.json.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1", - "description": "Nx Solid <%= name %> app" -} diff --git a/packages/solid/src/generators/application/files/public/favicon.ico b/packages/solid/src/generators/application/files/public/favicon.ico deleted file mode 100644 index 2ffc2af765ea4ea480cf0e9243f180350accfd4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22310 zcmeHP`*T&*6}}Nge6_Z=wrZ;kkVHiA4Fs$=JQ5PZOF>al6 zovCeowPVLxX~zeM%;dpC1+`V67G!)tf9$`|Z|$|dlXLgI=iZ!~z;rsjv+r8_?0e4M zYkh0&efHUVotsD$Bzh&TzdixpH}UU1y9*PEp@~GIZ{MKg;)Io7jGUY`?`&6s)2_yu zxHK^fU-`v-1}OVK{og}i)u?{Gnn(A)Wc8QqTwbK*v5&<%Ho6T z$6u`lRReEDX2QVUXIj_h(F4wbK11+rOxFuCTxrDxY`__#`1n zlLuXXCIEoxF2c7es|h{RWi%l~cBTZ+sb^SUoKKY}4Z;D^WaCqe-+rx@PaS;PAVC9V zh2L>>x}(~nZ*gi)PA4Y!5%7_qrOBPe(NusyV0>+#2uv{qhy?i^gY~?r#_zgLkLQi- z)057FO3RDR6Iv)^Qe>Cz3I9j^J}UGFa-u>M$cY9yQJFRbl_HVfX~)yAN8y}d6MF(G z)HJT>EJueq3PSFChwmkk<3Y@R;(N&*<~3c#<4*G)dXd8iN|4`kgDUmlaODq=##|=< z4=SlFzRXdr&u#^Jz^+41kl1y|eP>};qO*|u;P_5MXCe2UB@G+{i{RWX&V+Qgfkd$G zwc~r`K8{p7LU}`SZa&a8j~#F}Dj0wDct`hj-Zrz{RB*136LBH$cBk^3$9JLtAHyjM zpBaV|`F%GjUiaUuyiR5ZNDaw@Z`I#+MH~!q)x-jjse>0w*2Y>o5;@E1NKtns-=TWC zw-GP`MNWqzK;!{X1kCtM1CD%-j8905lc~HuxgrjjaxN;EJ8U87?4ep0WuWod$>>~Z zn0fcFsSzV}Pjx;YE6RI+1Xd3icC&6#{m7~B!k=mR!=schDOKK(JpNXFa$p=haba!A z_l4R3F@L1iMP5^)$84Lr5Nm(HVmW!*K$UMtqzJ;!{7ez?Fo^s+Ik z-_p^_A2LiA2bgO4qGYd_xYm@&ti|C~p zSaYrOlJizfM{FFc`j8XUhYi#v1XVhJLvloHB>Uhxf-}$aRDwrP8*GGOukbBOBTxx~ z!QM#Dk&7NikjM!ZIX#RZk+Yp@o4=4#56Zc6oPxNrTzONO^5q8ZQuEaGUa#jhBxB9K zaZyc)bc$N(;S`45f|ji}4-G&yOVYBmv@ayP4?UkC5Tq#39yCwm`2>rcPB7n`fVUHZ z)>5fpG*>8p#6VqPpf(cJY~8*g8EbNmmgWvG0HtvLSW1ucK_y7^P>w+al^#Ild}VkZ zjl*^bIysHH$c7nuT$6d01FdcC1gOxqMriA!GS5R=ZE&tKIO(G+491)tJ{Uz~t*fBr z>f!xBYf3)fLD!@<)G}9pCz^CkAI(+f8q~4HboM#KkY8FIGVSXoA;0g5DMFtVx_5&N z^Bt~SF>HOT3MELai7l{2+LIDd!t@^g#oLQZV@)!|Oolk3^7u;QJx{hkoIA zZd#f0Qhs^`^+S__RNETSzy0xvpo)uPqLc<%XKR4V%pslg}n|hb*r$8#p#|L}T(CU)@ptU1rg3hz)_JUiF|CQY`YGCVTw^Yp9-7uejx3oc$)}VFhU9MX$A6uG_ zJNefLJR@Y;VgAS~K^Ok)0njC-$1x@%gGA2hWfVXZj>1y-Gu`!;k3GlNG2dfozq;~5 zP>#Xm)RA{+|K7rT49885qfr<|bT=KjQ@UH)-B4XE`feC>x9{eQf`1+GXs+n(C`g#w z-Gp~4a!wa{OcZ&CBZ}lK=bfC_g;45F2eTW%x=C01nsw(GIIOM|0GzZbBBPL#6lAS$ zr{ruZgR<;7yOy=Hi;=V3>Q1@Sxv5j+oz9Kx>TY{=+V#{OsAd1pl}<(ez|+%49e8Hi z_qqv^$aW405h0gyd^Kf9q4QTajdo*gt4^%lbg0eI_H{Bfvb*)S`D`Rl6-)|g-BI05(`(BGuH`&Jzu25 z;LNWEHtJ^7>JV!3D7sH!$lwr}VfbL9z@YTQ&C`+p>^Ie*C;q$?6sf7P8_?Jal|Z95 zr{x6%vwYb8T~|D0?R{$hG?i(2r+Av>!-|{wo9=>CpZrqpssDUUR;H0wDqEqf$=Hy% zn84IGv^^fuTK(PW+aBuA9s1}LW$qYShdtfpLx%ofqiFhp)Az#=J@o8-C_nm2ovLX{ zuhOGOlw}6w+&F-sv;SD18oT7M5oUscWh`uUFqc^z001dHBWo zpeJ^i{xU!yH7n~18dKt+q19FvsOdBG@fb!=@8g}l+fWGWAJSa)|8R?p0EeCvH#q## z0#HTa+ntXhuN0XUe34=U(|BndVD|rfY9YR8h=ZCN=hMv2ejd}~!^%6gRr!y$-h&oD z`IU?UM_;W6MG~W*+_e_;+g)pf?tDz>yMhW*zIenRTaUb4SAXca`_ZN%qtqNfG{$w^ z&rpE zR`uWCfc&XFPY8ASbU;pnk2In=q{dh)*{61|n{vvT>)TyouCLw_Pd)Z0xqtoR4-bJJ zennjS@JkDYzPt$Z=&N$e`{IvFLBD)cM*FYd7GFQPTQu%UI<@CXoEAn%WjMLJ(`7Os z)KiWVYqEQC*P1>j-xImimY#lXo3x-~tMa|u?RZ;idAt4IzD3K)d420fEssSF$M>D5 z?G~>yPjm8W*UNxo9;1=iz3Dq~24$WLDTb<4Dy^qr+h#53FuWr1Gu(K-k6Y_AUd2&| zDVS+bO&hK?s59fBWw(0X@dx9)ro7g<1TzVYXIhaM|waA_c3BL^fbKWWE&!^RYJlL}zru4N;W7O>!p?cg$d}QPpJ?jG8r|lUx zkh;5G(`t83))Q15l}R0gHZ;Ow*TJV_?Tlv9FK!vyEC^&QLaueA%)8oq=q?sioiQWx zY)v=7LoSFb`{_C#BDHP42()9{HK2R9%hq_uHkmYcY@G?(zC|7r+cwKeT-&CRpsgDR z2z}nu(32&#tjSB1*Md2u^; zHO>#`&kdD}2s|g8m+sHEQ4#2SEuR}*uZ{n37w0qoSa&s1+mKHoxQ&J zmf{<{vv)@Bp=j_leVT6TTOjXt;oYZxcpYd2zOq+URw(Po~0(HI{FbhYMuDPhY;z5M7q5gIHRut+STllF8 zgFIh<@m~UpdaWY}EFXxAoqWoJ$op&ccj@hzkKTUSodGFGp?w=quQ#I+J9*#wy1-&vM5n=g-g4L z-}xhN>540%rHbMUKr4&qI(j7SwTzs|`r?{X1PBjNbpo-k)8nY|~hwLV#q&1^Vx*3chegxwqAn9N9sX`JM!=LHA_cY>RDE7AKnp54!M$lu#WPlA}A@ z8sQPdjuR7NM9hexYd4#f_?u``G99#b#J;~cU!=pZr_t;TZlhZS;aU~A8p)Z3K~}PS z8&*a09WGWu&*2r|jALSrY+>1$tYZaL5RO`EOXMkG-bi_QfjT%Bqb;ZiF(PKf&|zx9 z!l6J;4Gjth2zSxH8pp<({6XxN@iO!gj-Wq|Lm?97B|PMepQ9e>KDB-_E>{gyn~Xli zezLM0|8)}YgX&jT);J1+#Mr-3U$xN&KYHU1+oj&*=1{JWr}Ygw)FjlW+UV9kw(#q) ziG6MBn($z zX`wLT&2SBKIr?gyiXls#NU}MM)QJDXiT)sHt0*O8FD-Z}9GS+z4Gm0Gs@OSd0Sn<6 zmCnGVgWK+fG@t)&9_Wc3CZp}ec|l0!(efq|u;m3Et}hvUZhYRG5>=BfpR=u#FAQ8t z$dn5pIp|^rOv*P+N?GVYviKP8A8Mfm6%p*Lo7Nv}nqGC_8G%P*+$^p!t8LRo)Zhk< zYdiAFLKQ>y_bq%wBU-%O<7PcAGv0OC@WzELy}x+vA@INbx*GJOtzt-(%fQqy3L*T?s+Zjht{8K{)aRC&U2!+HA6)dVl>5x<~u~#_7_#0wCE&uwRwaA~`{Um5q;-1e2ccu%VaiKG|7o8eMWDb)J`^Lf9)s8uc>;B$$98ndC<5P#E^Yf^3-6~HgEP1-LzNh0 z5CmV?woO)56a}SJE0&SuQFCS1Ij3(a#7oQ!>_Xuve4xx$l_^kWlOFSYJ@P0ONVki4 zDDCp7JQcO%^}+>g(I?|Z^O>>5P3SIp$sINU99CA@HOYK{T_Z4oA8NtilrEZ}3J6__ zR$@6tSi-10WNqEp8?<9o$wn$C}^>%X-;kUV3? zW_pQU`fEZqR*(W7>|a=ULhc9&qe+)ndX>v74VSls&X>j#3Go$DX*S^+$1a1*D>Z*| zyG>FoH40Y-+UamXQIL_X3)!jYi*K-Xk#+Kg6YcXzX}{iB8^03k;_L=)iB2|?3IeNJMzB=1MVarmG=8TKFGMx!7UV~w|&%(7i z|9=2V%UWvtmdimqw%r8Uwpm7?){Q>_)s%5Uqdz(S(_MDm -
- logo -

- Edit src/App.tsx and save to reload. -

- - Learn Solid - -
- - ); -} - -export default App; diff --git a/packages/solid/src/generators/application/files/src/index.css.template b/packages/solid/src/generators/application/files/src/index.css.template deleted file mode 100644 index ec2585e8c..000000000 --- a/packages/solid/src/generators/application/files/src/index.css.template +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/packages/solid/src/generators/application/files/src/index.tsx.template b/packages/solid/src/generators/application/files/src/index.tsx.template deleted file mode 100644 index 898301175..000000000 --- a/packages/solid/src/generators/application/files/src/index.tsx.template +++ /dev/null @@ -1,16 +0,0 @@ -/* @refresh reload */ -import { render } from 'solid-js/web'; - -import './index.css'; -import App from './App'; - -const root = document.getElementById('root'); - -if (import.meta.env.DEV && !(root instanceof HTMLElement)) { - throw new Error( - 'Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?', - ); -} - -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -render(() => , root!); diff --git a/packages/solid/src/generators/application/files/src/logo.svg b/packages/solid/src/generators/application/files/src/logo.svg deleted file mode 100644 index 025aa303c..000000000 --- a/packages/solid/src/generators/application/files/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/solid/src/generators/application/files/tsconfig.app.json.template b/packages/solid/src/generators/application/files/tsconfig.app.json.template deleted file mode 100644 index 81fea0efc..000000000 --- a/packages/solid/src/generators/application/files/tsconfig.app.json.template +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - }, - - "include": ["src/**/*"], - "exclude": ["**/*.spec.ts", "**/*_spec.ts", "**/*.spec.tsx", "**/*_spec.tsx", "public/*"], -} diff --git a/packages/solid/src/generators/application/files/tsconfig.json.template b/packages/solid/src/generators/application/files/tsconfig.json.template deleted file mode 100644 index 9d3b9eec4..000000000 --- a/packages/solid/src/generators/application/files/tsconfig.json.template +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "strict": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "jsx": "preserve", - "jsxImportSource": "solid-js", - "types": ["vite/client"] - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/solid/src/generators/application/files/tsconfig.spec.json.template b/packages/solid/src/generators/application/files/tsconfig.spec.json.template deleted file mode 100644 index 7b2157f49..000000000 --- a/packages/solid/src/generators/application/files/tsconfig.spec.json.template +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.js", - "**/*.spec.tsx", - "**/*.spec.jsx", - "**/*.d.ts" - ] -} diff --git a/packages/solid/src/generators/application/lib/add-cypress.ts b/packages/solid/src/generators/application/lib/add-cypress.ts deleted file mode 100644 index d66c6b7af..000000000 --- a/packages/solid/src/generators/application/lib/add-cypress.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addCypress(tree: Tree, options: NormalizedSchema) { - if (options.e2eTestRunner !== 'cypress') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - - const { cypressProjectGenerator } = ensurePackage< - typeof import('@nx/cypress') - >('@nx/cypress', NX_VERSION); - - return await cypressProjectGenerator(tree, { - name: options.name + '-e2e', - project: options.name, - }); -} diff --git a/packages/solid/src/generators/application/lib/add-jest.ts b/packages/solid/src/generators/application/lib/add-jest.ts deleted file mode 100644 index d39129b58..000000000 --- a/packages/solid/src/generators/application/lib/add-jest.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addJest(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - - const { jestProjectGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - - return await jestProjectGenerator(host, { - project: options.name, - supportTsx: false, - skipSerializers: true, - setupFile: 'none', - babelJest: false, - }); -} diff --git a/packages/solid/src/generators/application/lib/add-linting.ts b/packages/solid/src/generators/application/lib/add-linting.ts deleted file mode 100644 index 1288c1129..000000000 --- a/packages/solid/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - runTasksInSerial, - ensurePackage, - NX_VERSION, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - if (options.linter !== 'eslint') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - const { lintProjectGenerator } = ensurePackage( - '@nx/linter', - NX_VERSION - ); - - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.appProjectRoot, 'tsconfig.app.json'), - ], - eslintFilePatterns: [`${options.appProjectRoot}/**/*.{ts,spec.ts,tsx}`], - skipFormat: true, - }); - - host.rename( - joinPathFragments(options.appProjectRoot, 'eslintrc.js'), - joinPathFragments(options.appProjectRoot, '.eslintrc.js') - ); - host.delete(joinPathFragments(options.appProjectRoot, '.eslintrc.json')); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/solid/src/generators/application/lib/add-project.ts b/packages/solid/src/generators/application/lib/add-project.ts deleted file mode 100644 index 6565d8c7f..000000000 --- a/packages/solid/src/generators/application/lib/add-project.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { - addProjectConfiguration, - joinPathFragments, - TargetConfiguration, - Tree, -} from '@nx/devkit'; - -export function addProject(tree: Tree, options: NormalizedSchema) { - addProjectConfiguration(tree, options.name, { - root: options.appProjectRoot, - sourceRoot: `${options.appProjectRoot}/src`, - projectType: 'application', - tags: options.parsedTags, - targets: { lint: createLintTarget(options) }, - }); -} - -function createLintTarget(options: NormalizedSchema): TargetConfiguration { - return { - executor: '@nx/linter:lint', - options: { - linter: 'eslint', - tsConfig: joinPathFragments(options.appProjectRoot, 'tsconfig.app.json'), - exclude: [ - '**/node_modules/**', - `!${joinPathFragments(options.appProjectRoot, '**/*')}`, - ], - }, - }; -} diff --git a/packages/solid/src/generators/application/lib/add-vite.ts b/packages/solid/src/generators/application/lib/add-vite.ts deleted file mode 100644 index 124cdcc85..000000000 --- a/packages/solid/src/generators/application/lib/add-vite.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - const { viteConfigurationGenerator } = ensurePackage< - typeof import('@nx/vite') - >('@nx/vite', NX_VERSION); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - }); -} diff --git a/packages/solid/src/generators/application/lib/create-project-files.ts b/packages/solid/src/generators/application/lib/create-project-files.ts deleted file mode 100644 index 4e6087aad..000000000 --- a/packages/solid/src/generators/application/lib/create-project-files.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - offsetFromRoot, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function createFiles(host: Tree, options: NormalizedSchema) { - generateFiles( - host, - joinPathFragments(__dirname, '../files'), - options.appProjectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.appProjectRoot), - } - ); -} diff --git a/packages/solid/src/generators/application/lib/update-jest-config.ts b/packages/solid/src/generators/application/lib/update-jest-config.ts deleted file mode 100644 index 352534a82..000000000 --- a/packages/solid/src/generators/application/lib/update-jest-config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { Tree } from '@nx/devkit'; - -export function updateJestConfig(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return; - } - - const jestConfigPath = `${options.appProjectRoot}/jest.config.ts`; - // const svelteConfigPath = `${options.projectRoot}/jest.config.ts`; - const originalContent = host.read(jestConfigPath)?.toString(); - const content = updateJestConfigContent(originalContent); - host.write(jestConfigPath, content); -} - -function updateJestConfigContent(content: string) { - return content; -} diff --git a/packages/solid/src/generators/application/lib/update-vite-config.ts b/packages/solid/src/generators/application/lib/update-vite-config.ts deleted file mode 100644 index aa774530f..000000000 --- a/packages/solid/src/generators/application/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.appProjectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - solidPlugin(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import solidPlugin from 'vite-plugin-solid'; - ` - ); -} diff --git a/packages/solid/src/generators/application/schema.d.ts b/packages/solid/src/generators/application/schema.d.ts deleted file mode 100644 index 7d889514b..000000000 --- a/packages/solid/src/generators/application/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Linter } from '@nx/linter'; -import { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -export interface Schema { - name: string; - tags?: string; - linter: Linter; - unitTestRunner: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - directory?: string; - projectNameAndRootFormat?: ProjectNameAndRootFormat; - rootProject?: boolean; - host?: string; - port?: number; -} - -export interface NormalizedSchema extends T { - projectName: string; - appProjectRoot: string; - e2eProjectName: string; - e2eProjectRoot: string; - fileName: string; - parsedTags: string[]; - skipFormat: boolean; -} diff --git a/packages/solid/src/generators/application/schema.json b/packages/solid/src/generators/application/schema.json deleted file mode 100644 index cd451faef..000000000 --- a/packages/solid/src/generators/application/schema.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Solid", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "projectNameAndRootFormat": { - "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).", - "type": "string", - "enum": ["as-provided", "derived"] - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "vitest" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (e2e) tests.", - "default": "cypress" - }, - "directory": { - "type": "string", - "description": "A directory where the lib is placed.", - "alias": "d" - }, - "rootProject": { - "description": "Create a application at the root of the workspace", - "type": "boolean", - "default": false, - "hidden": true - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/solid/src/generators/component/component.spec.ts b/packages/solid/src/generators/component/component.spec.ts deleted file mode 100644 index 7444c5d11..000000000 --- a/packages/solid/src/generators/component/component.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -import componentGenerator, { SolidComponentSchema } from './component'; -import { createTestProject } from '../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { names, Tree } from '@nx/devkit'; - -describe('component schematic', () => { - let tree: Tree; - const projectName = uniq('testprojekt'); - const componentName = uniq('test'); - const options: SolidComponentSchema = { - name: componentName, - project: projectName, - unitTestRunner: 'jest', - }; - - beforeEach(async () => { - tree = await createTestProject(projectName); - }); - - it('should run successfully', async () => { - await expect(componentGenerator(tree, options)).resolves.not.toThrowError(); - }); - - it('should add file', async () => { - await componentGenerator(tree, options); - const name = names(componentName); - expect( - tree.exists( - `apps/${projectName}/src/components/${name.fileName}/${name.className}.ts` - ) - ); - }); - - it('should add file to barrel', async () => { - const tree = await createTestProject(projectName, 'library'); - await componentGenerator(tree, options); - const name = names(componentName); - - const indexFile = tree.read(`libs/${projectName}/src/index.ts`); - expect(indexFile.toString('utf-8')).toMatch( - `export { default as ${name.className} } from './components/${name.fileName}/${name.className}.ts';` - ); - }); -}); diff --git a/packages/solid/src/generators/component/component.ts b/packages/solid/src/generators/component/component.ts deleted file mode 100644 index 9d605c24d..000000000 --- a/packages/solid/src/generators/component/component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { addExportsToBarrel } from './lib/add-exports-to-barrel'; -import { createComponentInProject } from './lib/create-component-in-project'; -import { convertNxGenerator, Tree } from '@nx/devkit'; - -export interface SolidComponentSchema { - name: string; - project: string; - directory?: string; - unitTestRunner: 'jest' | 'none'; -} - -export async function componentGenerator( - tree: Tree, - options: SolidComponentSchema -) { - createComponentInProject(tree, options); - addExportsToBarrel(tree, options); -} - -export default componentGenerator; -export const componentSchematic = convertNxGenerator(componentGenerator); diff --git a/packages/solid/src/generators/component/files/src/components/__fileName__/__className__.tsx.template b/packages/solid/src/generators/component/files/src/components/__fileName__/__className__.tsx.template deleted file mode 100644 index 2883fa797..000000000 --- a/packages/solid/src/generators/component/files/src/components/__fileName__/__className__.tsx.template +++ /dev/null @@ -1,5 +0,0 @@ -function <%= className %>() { - return

Hello component!

-} - -export default <%= className %>; diff --git a/packages/solid/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template b/packages/solid/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template deleted file mode 100644 index fb00a9775..000000000 --- a/packages/solid/src/generators/component/files/src/components/__fileName__/__fileName__.spec.tsx.template +++ /dev/null @@ -1,8 +0,0 @@ -import <%= className %> from './<%= className %>' -import { render } from 'solid-testing-library' - -it('it works', async () => { - const { getByText } = render(<%= className %>) - - expect(getByText('Hello component!')); -}) diff --git a/packages/solid/src/generators/component/lib/add-exports-to-barrel.ts b/packages/solid/src/generators/component/lib/add-exports-to-barrel.ts deleted file mode 100644 index 2ad1d020d..000000000 --- a/packages/solid/src/generators/component/lib/add-exports-to-barrel.ts +++ /dev/null @@ -1,79 +0,0 @@ -import * as ts from 'typescript'; - -import { SolidComponentSchema } from '../component'; -import { - applyChangesToString, - ChangeType, - joinPathFragments, - names, - readProjectConfiguration, - StringChange, - Tree, -} from '@nx/devkit'; -import { findNodes } from 'nx/src/utils/typescript'; - -export function addExportsToBarrel(tree: Tree, options: SolidComponentSchema) { - const projectConfig = readProjectConfiguration(tree, options.project); - - const { className, fileName } = names(options.name); - const indexFilePath = joinPathFragments(projectConfig.sourceRoot, 'index.ts'); - const componentFile = `./components/${fileName}/${className}.ts`; - - if (projectConfig.projectType === 'library') { - const { content, source } = readSourceFile(tree, indexFilePath); - - const changes = applyChangesToString( - content, - addExport( - source, - `export { default as ${className} } from '${componentFile}';` - ) - ); - tree.write(indexFilePath, changes); - } -} - -export function addExport( - source: ts.SourceFile, - statement: string -): StringChange[] { - const allExports = findNodes(source, ts.SyntaxKind.ExportDeclaration); - if (allExports.length > 0) { - const lastImport = allExports[allExports.length - 1]; - return [ - { - type: ChangeType.Insert, - index: lastImport.end + 1, - text: `\n${statement}\n`, - }, - ]; - } else { - return [ - { - type: ChangeType.Insert, - index: 0, - text: `\n${statement}\n`, - }, - ]; - } -} - -function readSourceFile( - host: Tree, - path: string -): { content: string; source: ts.SourceFile } { - if (!host.exists(path)) { - throw new Error(`Cannot find ${path}`); - } - - const content = host.read(path).toString('utf-8'); - - const source = ts.createSourceFile( - path, - content, - ts.ScriptTarget.Latest, - true - ); - - return { content, source }; -} diff --git a/packages/solid/src/generators/component/lib/create-component-in-project.ts b/packages/solid/src/generators/component/lib/create-component-in-project.ts deleted file mode 100644 index b57cc19cb..000000000 --- a/packages/solid/src/generators/component/lib/create-component-in-project.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - readProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { SolidComponentSchema } from '../component'; - -export function createComponentInProject( - tree: Tree, - options: SolidComponentSchema -) { - const projectConfig = readProjectConfiguration(tree, options.project); - const projectDirectory = options.directory - ? joinPathFragments(options.directory) - : ''; - - generateFiles( - tree, - joinPathFragments(__dirname, '../files/src'), - joinPathFragments(`${projectConfig.sourceRoot}/${projectDirectory}`), - names(options.name) - ); -} diff --git a/packages/solid/src/generators/component/schema.json b/packages/solid/src/generators/component/schema.json deleted file mode 100644 index d5ac1ec65..000000000 --- a/packages/solid/src/generators/component/schema.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Component", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "project": { - "type": "string", - "description": "Project where the component is generated", - "x-prompt": "What project would you like to use?", - "alias": "p" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - } - }, - "required": ["name", "project"] -} diff --git a/packages/solid/src/generators/init/init.spec.ts b/packages/solid/src/generators/init/init.spec.ts deleted file mode 100644 index 0f9444755..000000000 --- a/packages/solid/src/generators/init/init.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Schema } from './schema'; -import { initGenerator } from './init'; -import { readJson, Tree } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; - -describe('init schematic', () => { - let tree: Tree; - const options: Schema = { - skipFormat: true, - unitTestRunner: 'vitest', - e2eTestRunner: 'cypress', - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - tree.write( - 'package.json', - ` - { - "name": "test-name", - "dependencies": {}, - "devDependencies": { - "@nx/workspace": "0.0.0" - } - } - ` - ); - }); - - it('should add Solid dependencies', async () => { - await initGenerator(tree, options); - - const packageJson = readJson(tree, 'package.json'); - expect(packageJson.devDependencies['solid-js']).toBeDefined(); - expect(packageJson.devDependencies['solid-jest']).toBeDefined(); - }); -}); diff --git a/packages/solid/src/generators/init/init.ts b/packages/solid/src/generators/init/init.ts deleted file mode 100644 index d87f7aff8..000000000 --- a/packages/solid/src/generators/init/init.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Schema } from './schema'; -import { - convertNxGenerator, - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { addJestPlugin } from './lib/add-jest-plugin'; -import { addCypressPlugin } from './lib/add-cypress-plugin'; -import { updateDependencies } from './lib/add-dependencies'; - -export async function initGenerator(host: Tree, schema: Schema) { - const tasks: GeneratorCallback[] = []; - - if (!schema.unitTestRunner || schema.unitTestRunner === 'jest') { - const jestTask = await addJestPlugin(host); - tasks.push(jestTask); - } - if (!schema.e2eTestRunner || schema.e2eTestRunner === 'cypress') { - const cypressTask = await addCypressPlugin(host); - tasks.push(cypressTask); - } - - const installTask = updateDependencies(host); - tasks.push(installTask); - - if (!schema.skipFormat) { - await formatFiles(host); - } - return runTasksInSerial(...tasks); -} - -export const initSchematic = convertNxGenerator(initGenerator); diff --git a/packages/solid/src/generators/init/lib/add-cypress-plugin.ts b/packages/solid/src/generators/init/lib/add-cypress-plugin.ts deleted file mode 100644 index 04dc26fcb..000000000 --- a/packages/solid/src/generators/init/lib/add-cypress-plugin.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { GeneratorCallback, Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; - -export async function addCypressPlugin(tree: Tree): Promise { - const { cypressInitGenerator } = ensurePackage( - '@nx/cypress', - NX_VERSION - ); - return await cypressInitGenerator(tree, {}); -} diff --git a/packages/solid/src/generators/init/lib/add-dependencies.ts b/packages/solid/src/generators/init/lib/add-dependencies.ts deleted file mode 100644 index a485a1d0e..000000000 --- a/packages/solid/src/generators/init/lib/add-dependencies.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; -import { - eslintPluginSolidVersion, - solidJestVersion, - solidTestingLibraryVersion, - solidVersion, - vitePluginSolidVersion, -} from '../../utils/versions'; - -export function updateDependencies(tree: Tree) { - return addDependenciesToPackageJson( - tree, - {}, - { - 'solid-jest': solidJestVersion, - 'solid-js': solidVersion, - 'solid-testing-library': solidTestingLibraryVersion, - 'eslint-plugin-solid': eslintPluginSolidVersion, - 'vite-plugin-solid': vitePluginSolidVersion, - } - ); -} diff --git a/packages/solid/src/generators/init/lib/add-jest-plugin.ts b/packages/solid/src/generators/init/lib/add-jest-plugin.ts deleted file mode 100644 index ae9ba911a..000000000 --- a/packages/solid/src/generators/init/lib/add-jest-plugin.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { GeneratorCallback, Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; - -export async function addJestPlugin(tree: Tree): Promise { - const { jestInitGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - return await jestInitGenerator(tree, {}); -} diff --git a/packages/solid/src/generators/init/schema.d.ts b/packages/solid/src/generators/init/schema.d.ts deleted file mode 100644 index 834a09b0e..000000000 --- a/packages/solid/src/generators/init/schema.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface Schema { - unitTestRunner: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - bundler?: 'vite'; - skipFormat: boolean; -} diff --git a/packages/solid/src/generators/init/schema.json b/packages/solid/src/generators/init/schema.json deleted file mode 100644 index 5c9789384..000000000 --- a/packages/solid/src/generators/init/schema.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Init", - "title": "", - "type": "object", - "properties": { - "unitTestRunner": { - "description": "Adds the specified unit test runner.", - "type": "string", - "enum": ["vitest", "jest", "none"], - "default": "vitest" - }, - "e2eTestRunner": { - "description": "Adds the specified e2e test runner.", - "type": "string", - "enum": ["cypress", "none"], - "default": "cypress" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": [] -} diff --git a/packages/solid/src/generators/library/files/eslintrc.js.template b/packages/solid/src/generators/library/files/eslintrc.js.template deleted file mode 100644 index 4906c500b..000000000 --- a/packages/solid/src/generators/library/files/eslintrc.js.template +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["solid", "@typescript-eslint"], - "extends": ["<%= offsetFromRoot %>.eslintrc.json"], - "ignorePatterns": ["!**/*", "vite.config.ts"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.tsx"], - "parserOptions": { - "project": ["<%= projectRoot %>/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ], - "settings": { - 'solid/typescript': require('typescript') - } -} diff --git a/packages/solid/src/generators/library/files/package.json.template b/packages/solid/src/generators/library/files/package.json.template deleted file mode 100644 index dbc1a30f6..000000000 --- a/packages/solid/src/generators/library/files/package.json.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1", - "description": "Nx Solid <%= name %> lib" -} diff --git a/packages/solid/src/generators/library/files/src/index.ts.template b/packages/solid/src/generators/library/files/src/index.ts.template deleted file mode 100644 index 8cec2e9ce..000000000 --- a/packages/solid/src/generators/library/files/src/index.ts.template +++ /dev/null @@ -1 +0,0 @@ -export {}; \ No newline at end of file diff --git a/packages/solid/src/generators/library/files/tsconfig.json.template b/packages/solid/src/generators/library/files/tsconfig.json.template deleted file mode 100644 index b99ba8837..000000000 --- a/packages/solid/src/generators/library/files/tsconfig.json.template +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "strict": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "jsx": "preserve", - "jsxImportSource": "solid-js", - "types": ["vite/client"] - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/solid/src/generators/library/files/tsconfig.lib.json.template b/packages/solid/src/generators/library/files/tsconfig.lib.json.template deleted file mode 100644 index 81fea0efc..000000000 --- a/packages/solid/src/generators/library/files/tsconfig.lib.json.template +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - }, - - "include": ["src/**/*"], - "exclude": ["**/*.spec.ts", "**/*_spec.ts", "**/*.spec.tsx", "**/*_spec.tsx", "public/*"], -} diff --git a/packages/solid/src/generators/library/files/tsconfig.spec.json.template b/packages/solid/src/generators/library/files/tsconfig.spec.json.template deleted file mode 100644 index 27c984e3e..000000000 --- a/packages/solid/src/generators/library/files/tsconfig.spec.json.template +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts" - ] -} diff --git a/packages/solid/src/generators/library/lib/add-jest.ts b/packages/solid/src/generators/library/lib/add-jest.ts deleted file mode 100644 index 997d8f2de..000000000 --- a/packages/solid/src/generators/library/lib/add-jest.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addJest(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - const { jestProjectGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - - return await jestProjectGenerator(host, { - project: options.name, - supportTsx: false, - skipSerializers: true, - setupFile: 'none', - babelJest: false, - }); -} diff --git a/packages/solid/src/generators/library/lib/add-linting.ts b/packages/solid/src/generators/library/lib/add-linting.ts deleted file mode 100644 index 8978dd0e1..000000000 --- a/packages/solid/src/generators/library/lib/add-linting.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - runTasksInSerial, - ensurePackage, - NX_VERSION, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - const { lintProjectGenerator } = ensurePackage( - '@nx/linter', - NX_VERSION - ); - - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.lib.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,spec.ts}`], - skipFormat: true, - }); - - host.rename( - joinPathFragments(options.projectRoot, 'eslintrc.js'), - joinPathFragments(options.projectRoot, '.eslintrc.js') - ); - host.delete(joinPathFragments(options.projectRoot, '.eslintrc.json')); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/solid/src/generators/library/lib/add-project.ts b/packages/solid/src/generators/library/lib/add-project.ts deleted file mode 100644 index 25d83926f..000000000 --- a/packages/solid/src/generators/library/lib/add-project.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { addProjectConfiguration, TargetConfiguration, Tree } from '@nx/devkit'; - -export function addProject(tree: Tree, options: NormalizedSchema) { - const targets: { [key: string]: TargetConfiguration } = { - lint: createLintTarget(options), - }; - - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'library', - tags: options.parsedTags, - targets, - }); -} - -function createLintTarget(options: NormalizedSchema): TargetConfiguration { - return { - executor: '@nx/linter:lint', - options: { - linter: 'eslint', - tsConfig: `${options.projectRoot}/tsconfig.lib.json`, - exclude: ['**/node_modules/**', `!${options.projectRoot}/**/*`], - }, - }; -} diff --git a/packages/solid/src/generators/library/lib/add-vite.ts b/packages/solid/src/generators/library/lib/add-vite.ts deleted file mode 100644 index 124cdcc85..000000000 --- a/packages/solid/src/generators/library/lib/add-vite.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - const { viteConfigurationGenerator } = ensurePackage< - typeof import('@nx/vite') - >('@nx/vite', NX_VERSION); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - }); -} diff --git a/packages/solid/src/generators/library/lib/add-vitest.ts b/packages/solid/src/generators/library/lib/add-vitest.ts deleted file mode 100644 index c42740f20..000000000 --- a/packages/solid/src/generators/library/lib/add-vitest.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVitest(host: Tree, options: NormalizedSchema) { - if ( - !options.buildable && - !options.publishable && - options.unitTestRunner === 'vitest' - ) { - const { vitestGenerator } = ensurePackage( - '@nx/vite', - NX_VERSION - ); - - return await vitestGenerator(host, { - uiFramework: 'none', - project: options.name, - coverageProvider: 'c8', - inSourceTests: false, - skipFormat: true, - }); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; -} diff --git a/packages/solid/src/generators/library/lib/create-project-files.ts b/packages/solid/src/generators/library/lib/create-project-files.ts deleted file mode 100644 index 46386a0e5..000000000 --- a/packages/solid/src/generators/library/lib/create-project-files.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - offsetFromRoot, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function createFiles(host: Tree, options: NormalizedSchema) { - generateFiles( - host, - joinPathFragments(__dirname, '../files'), - options.projectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - } - ); - - if (!options.publishable && !options.buildable) { - host.delete(`${options.projectRoot}/package.json`); - } -} diff --git a/packages/solid/src/generators/library/lib/update-jest-config.ts b/packages/solid/src/generators/library/lib/update-jest-config.ts deleted file mode 100644 index 9af8b735f..000000000 --- a/packages/solid/src/generators/library/lib/update-jest-config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { Tree } from '@nx/devkit'; - -export function updateJestConfig(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return; - } - - const configPath = `${options.projectRoot}/jest.config.ts`; - const originalContent = host.read(configPath)?.toString(); - const content = updateJestConfigContent(originalContent); - host.write(configPath, content); -} - -function updateJestConfigContent(content: string) { - return content; -} diff --git a/packages/solid/src/generators/library/lib/update-tsconfig.ts b/packages/solid/src/generators/library/lib/update-tsconfig.ts deleted file mode 100644 index 3560dd1d6..000000000 --- a/packages/solid/src/generators/library/lib/update-tsconfig.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { - getWorkspaceLayout, - joinPathFragments, - Tree, - updateJson, -} from '@nx/devkit'; - -export function updateTsConfig(tree: Tree, options: NormalizedSchema) { - const { libsDir } = getWorkspaceLayout(tree); - - return updateJson(tree, 'tsconfig.base.json', (json) => { - const c = json.compilerOptions; - c.paths = c.paths || {}; - delete c.paths[options.importPath]; - - if (c.paths[options.importPath]) { - throw new Error( - `You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.` - ); - } - - c.paths[options.importPath] = [ - joinPathFragments(`${libsDir}/${options.projectDirectory}/src/index.ts`), - ]; - return json; - }); -} diff --git a/packages/solid/src/generators/library/lib/update-vite-config.ts b/packages/solid/src/generators/library/lib/update-vite-config.ts deleted file mode 100644 index 2122e17f7..000000000 --- a/packages/solid/src/generators/library/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - solidPlugin(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import solidPlugin from 'vite-plugin-solid'; - ` - ); -} diff --git a/packages/solid/src/generators/library/library.spec.ts b/packages/solid/src/generators/library/library.spec.ts deleted file mode 100644 index fe0fec973..000000000 --- a/packages/solid/src/generators/library/library.spec.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { SolidLibrarySchema } from './schema'; -import { Linter } from '@nx/linter'; -import { readJson, Tree } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from './library'; - -describe('solid library schematic', () => { - let tree: Tree; - const options: SolidLibrarySchema = { - name: 'myLib', - linter: Linter.EsLint, - unitTestRunner: 'jest', - e2eTestRunner: 'cypress', - skipFormat: false, - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - tree.write( - 'package.json', - ` - { - "name": "test-name", - "dependencies": {}, - "devDependencies": { - "@nx/workspace": "0.0.0" - } - } - ` - ); - }); - - it('should add solid dependencies', async () => { - await libraryGenerator(tree, options); - const packageJson = readJson(tree, 'package.json'); - - expect(packageJson.devDependencies['solid-js']).toBeDefined(); - expect(packageJson.devDependencies['solid-jest']).toBeDefined(); - }); - - it('should add solid project files', async () => { - await libraryGenerator(tree, options); - - // expect(tree.exists(`libs/${options.name}/solid.config.cjs`)).toBeTruthy(); - expect(tree.exists(`libs/my-lib/tsconfig.lib.json`)).toBeTruthy(); - expect(tree.exists(`libs/my-lib/tsconfig.spec.json`)).toBeTruthy(); - expect(tree.exists(`libs/my-lib/tsconfig.json`)).toBeTruthy(); - expect(tree.exists(`libs/my-lib/.eslintrc.json`)).toBeFalsy(); - expect(tree.exists(`libs/my-lib/.eslintrc.js`)).toBeTruthy(); - }); - - it('should fail if no importPath is provided with publishable', async () => { - try { - await libraryGenerator(tree, { - ...options, - publishable: true, - }); - } catch (error) { - expect(error.message).toContain( - 'For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)' - ); - } - }); -}); diff --git a/packages/solid/src/generators/library/library.ts b/packages/solid/src/generators/library/library.ts deleted file mode 100644 index b309a4035..000000000 --- a/packages/solid/src/generators/library/library.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { NormalizedSchema, SolidLibrarySchema } from './schema'; -import { initGenerator } from '../init/init'; -import { addProject } from './lib/add-project'; -import { updateTsConfig } from './lib/update-tsconfig'; -import { - convertNxGenerator, - formatFiles, - names, - Tree, - updateJson, - runTasksInSerial, -} from '@nx/devkit'; -import { addLinting } from './lib/add-linting'; -import { addJest } from './lib/add-jest'; -import { updateJestConfig } from './lib/update-jest-config'; -import { createFiles } from './lib/create-project-files'; -import { updateViteConfig } from './lib/update-vite-config'; -import { addVite } from './lib/add-vite'; -import { addVitest } from './lib/add-vitest'; -import { determineProjectNameAndRootOptions } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -async function normalizeOptions( - host: Tree, - options: SolidLibrarySchema -): Promise { - const { - projectName, - names: projectNames, - projectRoot, - importPath, - } = await determineProjectNameAndRootOptions(host, { - name: options.name, - projectType: 'library', - directory: options.directory, - importPath: options.importPath, - projectNameAndRootFormat: options.projectNameAndRootFormat, - callingGenerator: '@nxext/solid:library', - }); - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const fileName = options.simpleName - ? projectNames.projectSimpleName - : projectNames.projectFileName; - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - return { - ...options, - inSourceTests: false, - name: projectName, - projectRoot, - parsedTags, - fileName, - projectDirectory, - importPath, - }; -} - -function updateLibPackageNpmScope(host: Tree, options: NormalizedSchema) { - if (options.publishable || options.buildable) { - updateJson(host, `${options.projectRoot}/package.json`, (json) => { - json.name = options.importPath; - return json; - }); - } -} - -export async function libraryGenerator(host: Tree, schema: SolidLibrarySchema) { - return await libraryGeneratorInternal(host, { - projectNameAndRootFormat: 'derived', - ...schema, - }); -} - -export async function libraryGeneratorInternal( - host: Tree, - schema: SolidLibrarySchema -) { - const options = await normalizeOptions(host, schema); - if (options.publishable === true && !schema.importPath) { - throw new Error( - `For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)` - ); - } - - const initTask = await initGenerator(host, { ...options, skipFormat: true }); - - addProject(host, options); - createFiles(host, options); - - const lintTask = await addLinting(host, options); - const jestTask = await addJest(host, options); - const viteTask = await addVite(host, options); - const vitestTask = await addVitest(host, options); - - updateTsConfig(host, options); - updateJestConfig(host, options); - updateViteConfig(host, options); - updateLibPackageNpmScope(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, viteTask, vitestTask, lintTask, jestTask); -} - -export default libraryGenerator; -export const librarySchematic = convertNxGenerator(libraryGenerator); diff --git a/packages/solid/src/generators/library/schema.d.ts b/packages/solid/src/generators/library/schema.d.ts deleted file mode 100644 index 33374b30c..000000000 --- a/packages/solid/src/generators/library/schema.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface SolidLibrarySchema { - name: string; - tags?: string; - - linter: Linter; - unitTestRunner: 'vitest' | 'jest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - projectNameAndRootFormat?: ProjectNameAndRootFormat; - buildable?: boolean; - directory?: string; - publishable?: boolean; - importPath?: string; - skipFormat: boolean; - simpleName?: boolean; -} - -export interface NormalizedSchema extends SolidLibrarySchema { - projectRoot: string; - projectDirectory: string; - fileName: string; - parsedTags: string[]; - importPath: string; - inSourceTests: boolean; -} diff --git a/packages/solid/src/generators/library/schema.json b/packages/solid/src/generators/library/schema.json deleted file mode 100644 index 096bc29a8..000000000 --- a/packages/solid/src/generators/library/schema.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Solid", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (e2e) tests.", - "default": "cypress" - }, - "directory": { - "type": "string", - "description": "A directory where the lib is placed.", - "alias": "d" - }, - "publishable": { - "type": "boolean", - "description": "Create a publishable library." - }, - "buildable": { - "type": "boolean", - "default": false, - "description": "Generate a buildable library." - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like @myorg/my-awesome-lib" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - }, - "simpleName": { - "description": "Don't include the directory in the name of the module of the library.", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/solid/src/generators/utils/lint.ts b/packages/solid/src/generators/utils/lint.ts deleted file mode 100644 index 4e8c27b5b..000000000 --- a/packages/solid/src/generators/utils/lint.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { offsetFromRoot } from '@nx/devkit'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - 'eslint-plugin-solid': '^0.1.2', - }, -}; - -export const createSolidEslintJson = (projectRoot: string) => ` -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["solid", "@typescript-eslint"], - "extends": ["${offsetFromRoot(projectRoot)}/.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.js"], - "parserOptions": { - "project": ["${projectRoot}/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ], - "settings": { - 'solid/typescript': require('typescript') - } -}`; diff --git a/packages/solid/src/generators/utils/testing.ts b/packages/solid/src/generators/utils/testing.ts deleted file mode 100644 index 17a3ac0ee..000000000 --- a/packages/solid/src/generators/utils/testing.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import applicationGenerator from '../application/application'; -import { Tree } from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import { libraryGenerator } from '../library/library'; - -export async function createTestProject( - name: string, - type: 'application' | 'library' = 'application', - unitTestrunner: 'none' | 'jest' = 'none', - e2eTestrunner: 'none' | 'cypress' = 'none' -): Promise { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - tree.write( - 'package.json', - ` - { - "name": "test-name", - "dependencies": {}, - "devDependencies": { - "@nx/workspace": "0.0.0" - } - } - ` - ); - - if (type === 'application') { - await applicationGenerator(tree, { - name: name, - linter: Linter.EsLint, - unitTestRunner: unitTestrunner, - e2eTestRunner: e2eTestrunner, - }); - } - if (type === 'library') { - await libraryGenerator(tree, { - name: name, - linter: Linter.EsLint, - unitTestRunner: unitTestrunner, - e2eTestRunner: e2eTestrunner, - skipFormat: false, - }); - } - - return tree; -} diff --git a/packages/solid/src/generators/utils/versions.ts b/packages/solid/src/generators/utils/versions.ts deleted file mode 100644 index 458a491a6..000000000 --- a/packages/solid/src/generators/utils/versions.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const solidJestVersion = '^0.2.0'; -export const solidVersion = '^1.7.12'; -export const solidTestingLibraryVersion = '^0.5.1'; -export const eslintPluginSolidVersion = '0.13.0'; -export const vitePluginSolidVersion = '2.7.0'; diff --git a/packages/solid/src/index.ts b/packages/solid/src/index.ts deleted file mode 100644 index 4f9f36616..000000000 --- a/packages/solid/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { libraryGenerator } from './generators/library/library'; -export { applicationGenerator } from './generators/application/application'; -export { componentGenerator } from './generators/component/component'; diff --git a/packages/solid/tsconfig.json b/packages/solid/tsconfig.json deleted file mode 100644 index 62ebbd946..000000000 --- a/packages/solid/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/solid/tsconfig.lib.json b/packages/solid/tsconfig.lib.json deleted file mode 100644 index 3ce6be94e..000000000 --- a/packages/solid/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "jest.config.ts"], - "include": ["**/*.ts"] -} diff --git a/packages/solid/tsconfig.spec.json b/packages/solid/tsconfig.spec.json deleted file mode 100644 index 831ab6481..000000000 --- a/packages/solid/tsconfig.spec.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts", - "jest.config.ts" - ] -} diff --git a/packages/stencil/README.md b/packages/stencil/README.md deleted file mode 100644 index 8a847df88..000000000 --- a/packages/stencil/README.md +++ /dev/null @@ -1,163 +0,0 @@ -# @nxext/stencil - -[![License](https://img.shields.io/npm/l/@nxext/stencil.svg?style=flat-square)]() -[![nxext windows CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20windows%20CI/badge.svg)]() -[![nxext macos CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20macos%20CI/badge.svg)]() - -## Table of Contents - -- [Features](#features) -- [Usage](#usage) -- [Project schematics](#project-schematics) -- [Build](#build) -- [Test](#test) -- [Watch](#watch) -- [Serve](#serve) -- [Storybook](#storybook) -- [React and Angular](#react-and-angular) - -## Features - -- Generate Ionic/Pwa project -- Generate Stencil app project -- Generate library project - -## Usage - -Add this plugin to an Nx workspace: - -``` -yarn add @nxext/stencil -``` - -or - -``` -npm install @nxext/stencil --save -``` - -## Project schematics - -Generate your projects: - -``` -nx g @nxext/stencil:app my-app -nx g @nxext/stencil:pwa my-app -nx g @nxext/stencil:lib my-lib -``` - -each generator is able to generate your template with different style variants. Supported are: - -``` ---style=css (default) ---style=scss ---style=less ---style=styl ---style=pcss -``` - -You can generate components with: - -``` -nx g @nxext/stencil:component my-comp -``` - -or - -``` -nx g @nxext/stencil:c my-comp -``` - -If [Storybook](#storybook) is configured a `.stories.ts` is generated. - -## Build - -Build your project: - -``` -nx build my-app -``` - -Run commands are passed to the [stencil compiler](https://stenciljs.com/docs/cli). -Supported flags are: - -| Parameter | Type | Default | Description | -| ------------ | ------ | ---------------------------------------------------------------------------------------- | ---------------------------- | -| --ci | bool | false | | -| --debug | bool | false | | -| --dev | bool | false | | -| --docs | bool | false | | -| --port=1234 | number | | | -| --serve | bool | false | | -| --verbose | bool | false | | -| --watch | bool | false | | -| --configPath | string | "libs/**_projectname_**/stencil.config.ts" or "apps/**_projectname_**/stencil.config.ts" | relative from workspace root | - -You can define the path for the stencil.config.ts file like this: -The configPath is set in the workspace.json/angular.json for each builder. The default used path can be change there. - -Support for tests. For unit tests run: - -## Test - -``` -nx test my-app -``` - -## Watch - -Supported flags are: - -- --watch - -For e2e test: - -``` -nx e2e my-app -``` - -## Serve - -Serve with: - -``` -nx serve my-app -``` - -Supported flags are: - -| Parameter | Type | Default | Description | -| ------------ | ------- | ---------------------------------------------------------------------------------------- | ---------------------------- | -| --debug | bool | false | | -| --dev | bool | false | | -| --docs | bool | false | | -| --port=1234 | number | | | -| --verbose | bool | false | | -| --configPath | string | "libs/**_projectname_**/stencil.config.ts" or "apps/**_projectname_**/stencil.config.ts" | relative from workspace root | -| --open | boolean | true | | - -## Storybook - -You can generate Storybook configuration for an individual project with this command: - -``` -nx g @nxext/stencil:storybook-configuration my-lib -``` - -To run the generated Storybook use: - -``` -nx storybook my-lib -``` - -_The Storybook startup needs an successful `nx build` cause of the generated loaders to work_ - -## React and Angular - -You're able to generate angular/react libraries for yout stencil libraries using stencils outputtargets: - -``` -nx g @nxext/stencil:add-outputtarget my-lib -``` - -With the `--outputType='react'` or `--outputType='angular'` you can define the kind of library. diff --git a/packages/stencil/eslint.config.js b/packages/stencil/eslint.config.js deleted file mode 100644 index 751d9a55e..000000000 --- a/packages/stencil/eslint.config.js +++ /dev/null @@ -1,40 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { rules: {} }, - { - files: [ - 'packages/stencil/**/*.ts', - 'packages/stencil/**/*.tsx', - 'packages/stencil/**/*.js', - 'packages/stencil/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/stencil/**/*.ts', 'packages/stencil/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/stencil/**/*.js', 'packages/stencil/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: [ - 'packages/stencil/package.json', - 'packages/stencil/generators.json', - 'packages/stencil/executors.json', - 'packages/stencil/generators.json', - 'packages/stencil/executors.json', - 'packages/stencil/migrations.json', - ], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/stencil/executors.json b/packages/stencil/executors.json deleted file mode 100644 index fdb324106..000000000 --- a/packages/stencil/executors.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "builders": { - "build": { - "implementation": "./src/executors/build/compat", - "schema": "./src/executors/build/schema.json", - "description": "stencil build" - }, - "test": { - "implementation": "./src/executors/test/compat", - "schema": "./src/executors/test/schema.json", - "description": "stencil test" - }, - "e2e": { - "implementation": "./src/executors/e2e/compat", - "schema": "./src/executors/e2e/schema.json", - "description": "stencil e2e" - }, - "serve": { - "implementation": "./src/executors/serve/compat", - "schema": "./src/executors/serve/schema.json", - "description": "serve executor" - } - }, - "executors": { - "build": { - "implementation": "./src/executors/build/executor", - "schema": "./src/executors/build/schema.json", - "description": "stencil build" - }, - "test": { - "implementation": "./src/executors/test/executor", - "schema": "./src/executors/test/schema.json", - "description": "stencil test" - }, - "e2e": { - "implementation": "./src/executors/e2e/executor", - "schema": "./src/executors/e2e/schema.json", - "description": "stencil e2e" - }, - "serve": { - "implementation": "./src/executors/serve/executor", - "schema": "./src/executors/serve/schema.json", - "description": "serve executor" - } - } -} diff --git a/packages/stencil/generators.json b/packages/stencil/generators.json deleted file mode 100644 index e6e74c98e..000000000 --- a/packages/stencil/generators.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "stencil", - "version": "0.0.1", - "generators": { - "init": { - "factory": "./src/generators/init/init", - "schema": "./src/generators/init/schema.json", - "description": "Core features for collections", - "aliases": ["ng-add"], - "hidden": true - }, - "application": { - "factory": "./src/generators/application/generator", - "schema": "./src/generators/application/schema.json", - "description": "Generate Stencil application", - "aliases": ["app"] - }, - "ionic-pwa": { - "factory": "./src/generators/ionic-pwa/generator", - "schema": "./src/generators/ionic-pwa/schema.json", - "description": "Generate Stencil ionic pwa", - "aliases": ["pwa"] - }, - "library": { - "factory": "./src/generators/library/generator", - "schema": "./src/generators/library/schema.json", - "description": "Generate Stencil Library", - "aliases": ["lib", "collection"] - }, - "component": { - "factory": "./src/generators/component/component", - "schema": "./src/generators/component/schema.json", - "description": "Add a component to a ui library", - "aliases": ["c"] - }, - "add-outputtarget": { - "factory": "./src/generators/add-outputtarget/add-outputtarget", - "schema": "./src/generators/add-outputtarget/schema.json", - "description": "Add react/angular libraries for the component library" - }, - "add-outputtarget/add-angular": { - "factory": "./src/generators/add-outputtarget/add-angular/generator", - "schema": "./src/generators/add-outputtarget/schema.json", - "hidden": true - }, - "add-outputtarget/add-react": { - "factory": "./src/generators/add-outputtarget/add-react/generator", - "schema": "./src/generators/add-outputtarget/schema.json", - "hidden": true - }, - "make-lib-buildable": { - "factory": "./src/generators/make-lib-buildable/make-lib-buildable", - "schema": "./src/generators/make-lib-buildable/schema.json", - "description": "Make a library buildable" - }, - "storybook-configuration": { - "factory": "./src/generators/storybook-configuration/generator", - "schema": "./src/generators/storybook-configuration/schema.json", - "description": "storybook-configuration generator" - } - } -} diff --git a/packages/stencil/jest.config.ts b/packages/stencil/jest.config.ts deleted file mode 100644 index da7ca7024..000000000 --- a/packages/stencil/jest.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* eslint-disable */ -export default { - transform: { - '^.+\\.[tj]sx?$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'html', 'json'], - coverageDirectory: '../../coverage/packages/stencil', - globals: {}, - displayName: 'stencil', - testEnvironment: 'node', - preset: '../../jest.preset.js', -}; diff --git a/packages/stencil/migrations.json b/packages/stencil/migrations.json deleted file mode 100644 index c6504e9b8..000000000 --- a/packages/stencil/migrations.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "generators": {}, - "packageJsonUpdates": { - "1.1.0": { - "version": "1.1.0", - "packages": { - "@stencil/core": { - "version": "1.16.3", - "alwaysAddToPackageJson": false - } - } - }, - "10.0.0": { - "version": "10.0.0", - "packages": { - "@stencil/core": { - "version": "1.17.3", - "alwaysAddToPackageJson": false - } - } - }, - "10.2.1": { - "version": "10.2.1", - "packages": { - "@stencil/core": { - "version": "2.0.0", - "alwaysAddToPackageJson": false - } - } - }, - "10.3.0": { - "version": "10.3.0", - "packages": { - "@stencil/core": { - "version": "2.3.0", - "alwaysAddToPackageJson": false - } - } - }, - "11.2.1": { - "version": "11.2.1", - "packages": { - "@stencil/core": { - "version": "2.4.0", - "alwaysAddToPackageJson": false - } - } - }, - "12.0.0": { - "version": "12.0.0", - "packages": { - "@stencil/core": { - "version": "^2.5.0", - "alwaysAddToPackageJson": false - }, - "@nxext/stencil": { - "version": "12.0.0", - "alwaysAddToPackageJson": false - } - } - }, - "12.2.0": { - "version": "12.2.0", - "packages": { - "@stencil/core": { - "version": "^2.9.0", - "alwaysAddToPackageJson": false - } - } - }, - "13.1.0": { - "version": "13.1.0", - "packages": { - "@stencil/core": { - "version": "^2.10.0", - "alwaysAddToPackageJson": false - } - } - }, - "13.2.0": { - "version": "13.2.0", - "packages": { - "@stencil/core": { - "version": "^2.13.0", - "alwaysAddToPackageJson": false - } - } - } - } -} diff --git a/packages/stencil/package.json b/packages/stencil/package.json deleted file mode 100644 index 685c6d1be..000000000 --- a/packages/stencil/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "@nxext/stencil", - "version": "16.7.0", - "license": "MIT", - "author": "Dominik Pieper", - "description": "Nx plugin for stenciljs", - "homepage": "https://nxext.dev/", - "keywords": [ - "nx", - "nx-plugin", - "stenciljs", - "pwa", - "web components" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/stencil" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "main": "src/index.js", - "schematics": "./generators.json", - "generators": "./generators.json", - "builders": "./executors.json", - "executors": "./executors.json", - "dependencies": { - "tslib": "^2.3.0", - "@phenomnomnominal/tsquery": "~5.0.1", - "ignore": "^5.2.0", - "@nx/devkit": "^16.9.1", - "@nx/js": "^16.9.1", - "typescript": "5.1.6", - "@nx/workspace": "^16.9.1", - "@nx/angular": "^16.9.1", - "nx": "^16.9.1", - "@nxext/core": "^16.7.0" - }, - "peerDependencies": { - "@nxext/svelte": "^16.7.0", - "@stencil/core": "^3.4.0", - "@nx/linter": "^16.9.1", - "@nx/cypress": "^16.9.1", - "@nx/storybook": "^16.9.1", - "@nx/jest": "^16.9.1", - "@nx/react": "^16.9.1" - }, - "peerDependenciesMeta": { - "@nxext/svelte": { - "optional": true - }, - "@nx/storybook": { - "optional": true - }, - "@nx/react": { - "optional": true - }, - "@nx/angular": { - "optional": true - }, - "@nx/cypress": { - "optional": true - } - }, - "nx-migrate": { - "migrations": "./migrations.json" - }, - "nx-migrations": { - "migrations": "./migrations.json" - } -} diff --git a/packages/stencil/project.json b/packages/stencil/project.json deleted file mode 100644 index b3c36553f..000000000 --- a/packages/stencil/project.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "name": "stencil", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/stencil/src", - "projectType": "library", - "generators": {}, - "targets": { - "lint": { - "executor": "@nx/linter:eslint", - "options": { - "lintFilePatterns": [ - "packages/stencil/**/*.ts", - "packages/stencil/**/*.spec.ts", - "packages/stencil/**/*.spec.tsx", - "packages/stencil/**/*.spec.js", - "packages/stencil/**/*.spec.jsx", - "packages/stencil/**/*.d.ts", - "packages/stencil/generators.json", - "packages/stencil/executors.json", - "packages/stencil/package.json", - "packages/stencil/project.json", - "packages/stencil/migrations.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "options": { - "jestConfig": "packages/stencil/jest.config.ts", - "passWithNoTests": true - }, - "outputs": ["{workspaceRoot}/coverage/packages/stencil"] - }, - "build": { - "executor": "@nx/js:tsc", - "options": { - "outputPath": "dist/packages/stencil", - "tsConfig": "packages/stencil/tsconfig.lib.json", - "packageJson": "packages/stencil/package.json", - "main": "packages/stencil/src/index.ts", - "assets": [ - "packages/stencil/*.md", - { - "input": "./packages/stencil/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/stencil/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/stencil", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/stencil", - "glob": "executors.json", - "output": "." - }, - { - "input": "./packages/stencil", - "glob": "migrations.json", - "output": "." - }, - { - "input": "./packages/stencil", - "glob": "**/files/lib/.storybook/**", - "output": "/" - }, - { - "input": "./packages/stencil", - "glob": "migrations.json", - "output": "." - } - ], - "srcRootForCompilationRoot": "packages/stencil" - }, - "outputs": ["{options.outputPath}"], - "dependsOn": [ - { - "target": "build", - "dependencies": true - } - ] - }, - "publish": { - "command": "node tools/scripts/publish.mjs stencil {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/stencil/src/executors/build/compat.ts b/packages/stencil/src/executors/build/compat.ts deleted file mode 100644 index 274dcc3b7..000000000 --- a/packages/stencil/src/executors/build/compat.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { convertNxExecutor } from '@nx/devkit'; - -import buildExecutor from './executor'; - -export default convertNxExecutor(buildExecutor); diff --git a/packages/stencil/src/executors/build/executor.ts b/packages/stencil/src/executors/build/executor.ts deleted file mode 100644 index ae4ce746c..000000000 --- a/packages/stencil/src/executors/build/executor.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { StencilBuildOptions } from './schema'; -import { ConfigFlags, parseFlags, TaskCommand } from '@stencil/core/cli'; -import { - prepareConfigAndOutputargetPaths, - createStencilProcess, - initializeStencilConfig, -} from '../stencil-runtime'; -import { createProjectGraphAsync } from '@nx/workspace/src/core/project-graph'; -import { parseRunParameters } from '../stencil-runtime/stencil-parameters'; -import { ExecutorContext, logger } from '@nx/devkit'; -import { - calculateProjectDependencies, - checkDependentProjectsHaveBeenBuilt, - updateBuildableProjectPackageJsonDependencies, -} from '@nx/workspace/src/utilities/buildable-libs-utils'; -import { cleanupE2eTesting } from '../stencil-runtime/e2e-testing'; - -function createStencilCompilerOptions( - taskCommand: TaskCommand, - options: StencilBuildOptions -): ConfigFlags { - let runOptions: string[] = [taskCommand]; - runOptions = parseRunParameters(runOptions, options); - - if (options.port) { - runOptions.push(`--port ${options.port}`); - } - if (options.docsReadme) { - runOptions.push(`--docs-readme`); - } - if (options.noOpen) { - runOptions.push(`--no-open`); - } - if (options.maxWorkers) { - runOptions.push(`--max-workers ${options.maxWorkers}`); - } - - return parseFlags(runOptions); -} - -export default async function runExecutor( - options: StencilBuildOptions, - context: ExecutorContext -) { - const taskCommand: TaskCommand = 'build'; - - const projGraph = await createProjectGraphAsync(); - const { target, dependencies } = calculateProjectDependencies( - projGraph, - context.root, - context.projectName, - context.targetName, - context.configurationName - ); - - if ( - !checkDependentProjectsHaveBeenBuilt( - context.root, - context.projectName, - context.targetName, - dependencies - ) - ) { - return { success: false }; - } - - const flags: ConfigFlags = createStencilCompilerOptions(taskCommand, options); - const { strictConfig, pathCollection } = await initializeStencilConfig( - taskCommand, - options, - context, - flags - ); - - const stencilConfig = await prepareConfigAndOutputargetPaths( - strictConfig, - pathCollection - ); - - updateBuildableProjectPackageJsonDependencies( - context.root, - context.projectName, - context.targetName, - context.configurationName, - target, - dependencies - ); - - try { - await createStencilProcess(stencilConfig); - - if (stencilConfig.flags.e2e) { - cleanupE2eTesting(pathCollection); - } - - return { success: true }; - } catch (err) { - logger.error(err.message); - - return { success: false, error: err.message }; - } -} diff --git a/packages/stencil/src/executors/build/schema.d.ts b/packages/stencil/src/executors/build/schema.d.ts deleted file mode 100644 index 493d64c91..000000000 --- a/packages/stencil/src/executors/build/schema.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { StencilBaseConfigOptions } from '../stencil-runtime/stencil-config'; -import { ProjectType } from '../../utils/typings'; - -export interface StencilBuildOptions extends StencilBaseConfigOptions { - projectType?: ProjectType; - - // Stencil compiler Options - ci?: boolean; - debug?: boolean; - dev?: boolean; - docsReadme?: boolean; - es5?: boolean; - log?: boolean; - prerender?: boolean; - ssr?: boolean; - prod?: boolean; - maxWorkers?: number; - port?: number; - serve?: boolean; - verbose?: boolean; - watch?: boolean; - noOpen?: boolean; -} diff --git a/packages/stencil/src/executors/build/schema.json b/packages/stencil/src/executors/build/schema.json deleted file mode 100644 index 81f0efd14..000000000 --- a/packages/stencil/src/executors/build/schema.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Stencil build", - "description": "", - "type": "object", - "properties": { - "projectType": { - "type": "string" - }, - "configPath": { - "type": "string", - "description": "Path to the stencil.config.ts file." - }, - "ci": { - "type": "boolean", - "description": "Run a build using recommended settings for a Continuous Integration (CI) environment. Defaults the number of workers to 4.", - "default": false - }, - "debug": { - "type": "boolean", - "description": "Adds additional runtime code to help debug, and sets the log level for more verbose output.", - "default": false - }, - "dev": { - "type": "boolean", - "description": "Runs a development build.", - "default": false - }, - "docsReadme": { - "type": "boolean", - "descripton": "Generate readme.md docs based on the component types, properties, methods, events, JSDocs, CSS Custom Properties, etc.", - "default": false - }, - "es5": { - "type": "boolean", - "descripton": "Creates an ES5 compatible build. By default ES5 builds are not created during development in order to improve build times. However, ES5 builds are always created during production builds. Use this flag to create ES5 builds during development.", - "default": false - }, - "log": { - "type": "boolean", - "description": "Write logs for the stencil build into stencil-build.log. The log file is written in the same location as the config.", - "default": false - }, - "prerender": { - "type": "boolean", - "description": "Prerender the application using the www output target after the build has completed.", - "default": false - }, - "prod": { - "type": "boolean", - "description": "Runs a production build which will optimize each file, improve bundling, remove unused code, minify, etc. A production build is the default, this flag is only used to override the --dev flag.", - "default": false - }, - "maxWorkers": { - "type": "number", - "description": "Max number of workers the compiler should use. Defaults to use the same number of CPUs the Operating System has available." - }, - "port": { - "type": "number", - "description": "Max number of workers the compiler should use. Defaults to use the same number of CPUs the Operating System has available." - }, - "serve": { - "type": "boolean", - "description": "Starts the Integrated Dev Server." - }, - "verbose": { - "type": "boolean", - "description": "Logs additional information about each step of the build." - }, - "watch": { - "type": "boolean", - "description": "Watches files during development and triggers a rebuild when files are updated." - }, - "ssr": { - "type": "boolean", - "description": "Starts the server side render process.." - }, - "noOpen": { - "type": "boolean", - "description": "By default the --serve command will open a browser window. Using the --noOpen command will no automatically open a browser window." - }, - "tsConfig": { - "type": "string", - "description": "The path to tsconfig file." - } - }, - "required": [] -} diff --git a/packages/stencil/src/executors/e2e/compat.ts b/packages/stencil/src/executors/e2e/compat.ts deleted file mode 100644 index 8c4bcba11..000000000 --- a/packages/stencil/src/executors/e2e/compat.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { convertNxExecutor } from '@nx/devkit'; - -import e2eExecutor from './executor'; - -export default convertNxExecutor(e2eExecutor); diff --git a/packages/stencil/src/executors/e2e/executor.ts b/packages/stencil/src/executors/e2e/executor.ts deleted file mode 100644 index bfebf83cd..000000000 --- a/packages/stencil/src/executors/e2e/executor.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { StencilE2EOptions } from './schema'; -import { ConfigFlags, parseFlags, TaskCommand } from '@stencil/core/cli'; -import { - prepareConfigAndOutputargetPaths, - createStencilProcess, - initializeStencilConfig, -} from '../stencil-runtime'; -import { parseRunParameters } from '../stencil-runtime/stencil-parameters'; -import { ExecutorContext, logger } from '@nx/devkit'; -import { cleanupE2eTesting } from '../stencil-runtime/e2e-testing'; - -function createStencilCompilerOptions( - taskCommand: TaskCommand, - options: StencilE2EOptions -): ConfigFlags { - let runOptions: string[] = [taskCommand]; - runOptions.push(`--e2e`); - runOptions = parseRunParameters(runOptions, options); - - return parseFlags(runOptions); -} - -export default async function runExecutor( - options: StencilE2EOptions, - context: ExecutorContext -) { - const taskCommand: TaskCommand = 'test'; - - const flags: ConfigFlags = createStencilCompilerOptions(taskCommand, options); - const { strictConfig, pathCollection } = await initializeStencilConfig( - taskCommand, - options, - context, - flags - ); - const stencilConfig = await prepareConfigAndOutputargetPaths( - strictConfig, - pathCollection - ); - - try { - await createStencilProcess(stencilConfig); - - if (stencilConfig.flags.e2e) { - cleanupE2eTesting(pathCollection); - } - - return { success: true }; - } catch (err) { - logger.error(err.message); - - return { success: false, error: err.message }; - } -} diff --git a/packages/stencil/src/executors/e2e/schema.d.ts b/packages/stencil/src/executors/e2e/schema.d.ts deleted file mode 100644 index 77aa2d123..000000000 --- a/packages/stencil/src/executors/e2e/schema.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { StencilBaseConfigOptions } from '../stencil-runtime/stencil-config'; -import { ProjectType } from '../../utils/typings'; - -export interface StencilE2EOptions extends StencilBaseConfigOptions { - projectType?: ProjectType; -} diff --git a/packages/stencil/src/executors/e2e/schema.json b/packages/stencil/src/executors/e2e/schema.json deleted file mode 100644 index d65708b04..000000000 --- a/packages/stencil/src/executors/e2e/schema.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Stencil build", - "description": "", - "type": "object", - "properties": { - "projectType": { - "type": "string" - } - }, - "required": [] -} diff --git a/packages/stencil/src/executors/serve/compat.ts b/packages/stencil/src/executors/serve/compat.ts deleted file mode 100644 index ee20ab899..000000000 --- a/packages/stencil/src/executors/serve/compat.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { convertNxExecutor } from '@nx/devkit'; - -import serveExecutor from './executor'; - -export default convertNxExecutor(serveExecutor); diff --git a/packages/stencil/src/executors/serve/executor.ts b/packages/stencil/src/executors/serve/executor.ts deleted file mode 100644 index bbbfe0f18..000000000 --- a/packages/stencil/src/executors/serve/executor.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { StencilServeOptions } from './schema'; -import { ConfigFlags, parseFlags, TaskCommand } from '@stencil/core/cli'; -import { - prepareConfigAndOutputargetPaths, - initializeStencilConfig, - createStencilProcess, -} from '../stencil-runtime'; -import { createProjectGraphAsync } from '@nx/workspace/src/core/project-graph'; -import { parseRunParameters } from '../stencil-runtime/stencil-parameters'; -import { ExecutorContext, logger } from '@nx/devkit'; -import { - calculateProjectDependencies, - checkDependentProjectsHaveBeenBuilt, - updateBuildableProjectPackageJsonDependencies, -} from '@nx/workspace/src/utilities/buildable-libs-utils'; -import { cleanupE2eTesting } from '../stencil-runtime/e2e-testing'; - -function createStencilCompilerOptions( - taskCommand: TaskCommand, - options: StencilServeOptions -): ConfigFlags { - let runOptions: string[] = [taskCommand]; - runOptions = parseRunParameters(runOptions, options); - - if (options.port) { - runOptions.push(`--port ${options.port}`); - } - if (options.docsReadme) { - runOptions.push(`--docs-readme`); - } - if (options.noOpen) { - runOptions.push(`--no-open`); - } - if (options.maxWorkers) { - runOptions.push(`--max-workers ${options.maxWorkers}`); - } - runOptions.push('--serve'); - runOptions.push('--watch'); - - return parseFlags(runOptions); -} - -export default async function* runExecutor( - options: StencilServeOptions, - context: ExecutorContext -) { - const taskCommand: TaskCommand = 'build'; - - const projGraph = await createProjectGraphAsync(); - const { target, dependencies } = calculateProjectDependencies( - projGraph, - context.root, - context.projectName, - context.targetName, - context.configurationName - ); - - if ( - !checkDependentProjectsHaveBeenBuilt( - context.root, - context.projectName, - context.targetName, - dependencies - ) - ) { - yield { success: false }; - } - - const flags: ConfigFlags = createStencilCompilerOptions(taskCommand, options); - const { strictConfig, pathCollection } = await initializeStencilConfig( - taskCommand, - options, - context, - flags - ); - - const config = await prepareConfigAndOutputargetPaths( - strictConfig, - pathCollection - ); - - updateBuildableProjectPackageJsonDependencies( - context.root, - context.projectName, - context.targetName, - context.configurationName, - target, - dependencies - ); - - try { - await createStencilProcess(config); - - if (config.flags.e2e) { - cleanupE2eTesting(pathCollection); - } - - return { success: true }; - } catch (err) { - logger.error(err.message); - - return { success: false, error: err.message }; - } -} diff --git a/packages/stencil/src/executors/serve/schema.d.ts b/packages/stencil/src/executors/serve/schema.d.ts deleted file mode 100644 index 648eccb33..000000000 --- a/packages/stencil/src/executors/serve/schema.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { StencilBaseConfigOptions } from '../stencil-runtime/stencil-config'; -import { ProjectType } from '../../utils/typings'; - -export interface StencilServeOptions extends StencilBaseConfigOptions { - projectType?: ProjectType; - - // Stencil compiler Options - ci?: boolean; - debug?: boolean; - dev?: boolean; - docsReadme?: boolean; - es5?: boolean; - log?: boolean; - prerender?: boolean; - ssr?: boolean; - prod?: boolean; - maxWorkers?: number; - port?: number; - serve?: boolean; - verbose?: boolean; - watch?: boolean; - noOpen?: boolean; -} diff --git a/packages/stencil/src/executors/serve/schema.json b/packages/stencil/src/executors/serve/schema.json deleted file mode 100644 index 5257363a9..000000000 --- a/packages/stencil/src/executors/serve/schema.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Stencil serve", - "description": "", - "type": "object", - "properties": { - "projectType": { - "type": "string" - }, - "configPath": { - "type": "string", - "description": "Path to the stencil.config.ts file." - }, - "ci": { - "type": "boolean", - "description": "Run a build using recommended settings for a Continuous Integration (CI) environment. Defaults the number of workers to 4.", - "default": false - }, - "debug": { - "type": "boolean", - "description": "Adds additional runtime code to help debug, and sets the log level for more verbose output.", - "default": false - }, - "dev": { - "type": "boolean", - "description": "Runs a development build.", - "default": false - }, - "docsReadme": { - "type": "boolean", - "descripton": "Generate readme.md docs based on the component types, properties, methods, events, JSDocs, CSS Custom Properties, etc.", - "default": false - }, - "es5": { - "type": "boolean", - "descripton": "Creates an ES5 compatible build. By default ES5 builds are not created during development in order to improve build times. However, ES5 builds are always created during production builds. Use this flag to create ES5 builds during development.", - "default": false - }, - "log": { - "type": "boolean", - "description": "Write logs for the stencil build into stencil-build.log. The log file is written in the same location as the config.", - "default": false - }, - "prerender": { - "type": "boolean", - "description": "Prerender the application using the www output target after the build has completed.", - "default": false - }, - "prod": { - "type": "boolean", - "description": "Runs a production build which will optimize each file, improve bundling, remove unused code, minify, etc. A production build is the default, this flag is only used to override the --dev flag.", - "default": false - }, - "maxWorkers": { - "type": "number", - "description": "Max number of workers the compiler should use. Defaults to use the same number of CPUs the Operating System has available." - }, - "port": { - "type": "number", - "description": "Max number of workers the compiler should use. Defaults to use the same number of CPUs the Operating System has available." - }, - "serve": { - "type": "boolean", - "description": "Starts the Integrated Dev Server." - }, - "verbose": { - "type": "boolean", - "description": "Logs additional information about each step of the build." - }, - "watch": { - "type": "boolean", - "description": "Watches files during development and triggers a rebuild when files are updated." - }, - "ssr": { - "type": "boolean", - "description": "Starts the server side render process.." - }, - "noOpen": { - "type": "boolean", - "description": "By default the --serve command will open a browser window. Using the --noOpen command will no automatically open a browser window." - }, - "tsConfig": { - "type": "string", - "description": "The path to tsconfig file." - } - }, - "required": [] -} diff --git a/packages/stencil/src/executors/stencil-runtime/e2e-testing.ts b/packages/stencil/src/executors/stencil-runtime/e2e-testing.ts deleted file mode 100644 index c18757eca..000000000 --- a/packages/stencil/src/executors/stencil-runtime/e2e-testing.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { deleteFile } from '../../utils/fileutils'; -import { fileExists } from '@nx/workspace/src/utilities/fileutils'; -import { PathCollection } from './types'; -import { relative } from 'path'; -import { joinPathFragments, writeJsonFile } from '@nx/devkit'; - -export function prepareE2eTesting(pathCollection: PathCollection) { - const libPackageJson = { - name: pathCollection.projectName, - version: '1', - main: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/index.cjs.js`, - module: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/index.js`, - es2015: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/esm/index.mjs`, - es2017: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/esm/index.mjs`, - types: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/types/index.d.ts`, - collection: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/collection/collection-manifest.json`, - 'collection:main': `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/collection/index.js`, - unpkg: `${relative( - pathCollection.projectRoot, - pathCollection.distDir - )}/dist/${pathCollection.projectName}/${pathCollection.projectName}.js`, - files: [ - `${relative(pathCollection.projectRoot, pathCollection.distDir)}/dist/`, - `${relative(pathCollection.projectRoot, pathCollection.distDir)}/loader/`, - ], - }; - - writeJsonFile( - joinPathFragments(`${pathCollection.projectRoot}/package.e2e.json`), - libPackageJson - ); -} - -export function cleanupE2eTesting(pathCollection: PathCollection) { - const pkgJsonPath = joinPathFragments( - `${pathCollection.projectRoot}/package.e2e.json` - ); - if (fileExists(pkgJsonPath)) { - deleteFile(pkgJsonPath); - } -} diff --git a/packages/stencil/src/executors/stencil-runtime/index.ts b/packages/stencil/src/executors/stencil-runtime/index.ts deleted file mode 100644 index 1f3d4f900..000000000 --- a/packages/stencil/src/executors/stencil-runtime/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { prepareConfigAndOutputargetPaths } from './prepare-config-and-outputarget-paths'; -export { createStencilProcess } from './stencil-process'; -export { initializeStencilConfig } from './stencil-config'; diff --git a/packages/stencil/src/executors/stencil-runtime/prepare-config-and-outputarget-paths.ts b/packages/stencil/src/executors/stencil-runtime/prepare-config-and-outputarget-paths.ts deleted file mode 100644 index 35d6ec6fd..000000000 --- a/packages/stencil/src/executors/stencil-runtime/prepare-config-and-outputarget-paths.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { OutputTarget } from '@stencil/core/internal'; -import { prepareE2eTesting } from './e2e-testing'; -import { PathCollection } from './types'; -import { - createDirectory, - fileExists, - copyFile, -} from '@nx/workspace/src/utilities/fileutils'; -import { joinPathFragments, writeJsonFile } from '@nx/devkit'; -import { existsSync } from 'fs'; -import type { Config } from '@stencil/core/compiler'; - -function copyOrCreatePackageJson(pathCollection: PathCollection) { - const libPackageJson = { - name: pathCollection.projectName, - version: '0.0.0', - main: './dist/index.cjs.js', - module: './dist/index.js', - es2015: './dist/esm/index.mjs', - es2017: './dist/esm/index.mjs', - types: './dist/types/index.d.ts', - collection: './dist/collection/collection-manifest.json', - 'collection:main': './dist/collection/index.js', - unpkg: `./dist/${pathCollection.projectName}/${pathCollection.projectName}.js`, - files: ['dist/', 'loader/'], - }; - - if (fileExists(pathCollection.pkgJson)) { - copyFile(pathCollection.pkgJson, pathCollection.distDir); - } else { - writeJsonFile( - joinPathFragments(pathCollection.distDir, 'package.json'), - libPackageJson - ); - } -} - -function calculateOutputTargetPathVariables( - config: Config, - pathCollection: PathCollection, - pathVariables: string[] -) { - return config.outputTargets.map((outputTarget: OutputTarget) => { - // don't change the angular, react, vue or svelte output targets - if (outputTarget.type === 'custom') { - return outputTarget; - } - - pathVariables.forEach((pathVar) => { - if ( - outputTarget[pathVar] != null && - !(outputTarget[pathVar] as string).endsWith('src') - ) { - const origPath = outputTarget[pathVar]; - - outputTarget = Object.assign(outputTarget, { - [pathVar]: origPath.replace( - pathCollection.projectRoot, - pathCollection.distDir - ), - }); - } - }); - - return outputTarget; - }); -} - -function prepareDistDirAndPkgJson(pathCollection: PathCollection) { - if (!existsSync(pathCollection.distDir)) { - createDirectory(pathCollection.distDir); - } - copyOrCreatePackageJson(pathCollection); -} - -export async function prepareConfigAndOutputargetPaths( - config: Config, - pathCollection: PathCollection -): Promise { - prepareDistDirAndPkgJson(pathCollection); - - if (config.flags.e2e) { - prepareE2eTesting(pathCollection); - } - - const pathVariables = [ - 'dir', - 'appDir', - 'buildDir', - 'indexHtml', - 'esmDir', - 'systemDir', - 'systemLoaderFile', - 'file', - 'esmLoaderPath', - 'collectionDir', - 'typesDir', - 'legacyLoaderFile', - 'esmEs5Dir', - 'cjsDir', - 'cjsIndexFile', - 'esmIndexFile', - 'componentDts', - ]; - const outputTargets: OutputTarget[] = calculateOutputTargetPathVariables( - config, - pathCollection, - pathVariables - ); - const devServerConfig = Object.assign(config.devServer, { - root: config.devServer.root.replace( - pathCollection.projectRoot, - pathCollection.distDir - ), - openBrowser: config.flags.open, - }); - - if (!config.flags.e2e) { - config.packageJsonFilePath = config.packageJsonFilePath.replace( - pathCollection.projectRoot, - pathCollection.distDir - ); - } else { - config.packageJsonFilePath = config.packageJsonFilePath.replace( - 'package.json', - 'package.e2e.json' - ); - } - - return { - ...config, - outputTargets: outputTargets, - devServer: devServerConfig, - }; -} diff --git a/packages/stencil/src/executors/stencil-runtime/stencil-config.ts b/packages/stencil/src/executors/stencil-runtime/stencil-config.ts deleted file mode 100644 index 2fd758efb..000000000 --- a/packages/stencil/src/executors/stencil-runtime/stencil-config.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { ConfigFlags, Logger, TaskCommand } from '@stencil/core/cli'; -import { - CompilerSystem, - createNodeLogger, - createNodeSys, -} from '@stencil/core/sys/node'; -import { loadConfig } from '@stencil/core/compiler'; -import { PathCollection } from './types'; -import { ExecutorContext } from '@nx/devkit'; -import { join } from 'path'; -import { normalizePath } from '../../utils/normalize-path'; -import type { Config } from '@stencil/core/compiler'; -import { ValidatedConfig } from '@stencil/core/internal'; - -function getCompilerExecutingPath(): string { - return require.resolve('@stencil/core/compiler'); -} - -export interface StencilBaseConfigOptions { - configPath: string; - outputPath: string; - tsConfig?: string; -} - -export async function initializeStencilConfig< - T extends StencilBaseConfigOptions ->( - taskCommand: TaskCommand, - options: T, - context: ExecutorContext, - flags: ConfigFlags -): Promise<{ - pathCollection: PathCollection; - strictConfig: Config; -}> { - const logger: Logger = createNodeLogger({ process }); - const sys: CompilerSystem = createNodeSys({ process }); - - if (sys.getCompilerExecutingPath == null) { - sys.getCompilerExecutingPath = getCompilerExecutingPath; - } - - if (flags.ci) { - logger.enableColors(false); - } - - const projectDir = context.workspace.projects[context.projectName].root; - const projectRoot = normalizePath(join(context.root, projectDir)); - const distDir = normalizePath(join(context.root, options.outputPath)); - const configPath = normalizePath(join(context.root, options.configPath)); - - let config = { - flags, - }; - if (options.tsConfig) { - const tsconfig = join(context.root, options.tsConfig); - config = { - ...config, - ...{ tsconfig: tsconfig }, - }; - } - - const loadConfigResults = await loadConfig({ - config, - configPath, - logger, - sys, - }); - const loadedConfig = loadConfigResults.config; - const strictConfig: ValidatedConfig = { - ...loadedConfig, - flags: flags, - logger, - outputTargets: loadedConfig.outputTargets ?? [], - rootDir: loadedConfig.rootDir ?? '/', - sys: sys ?? loadedConfig.sys, - testing: loadedConfig.testing ?? {}, - }; - - if (strictConfig.flags.task === 'build') { - strictConfig.rootDir = distDir; - strictConfig.packageJsonFilePath = normalizePath( - join(distDir, 'package.json') - ); - } - - return { - pathCollection: { - projectName: context.projectName, - projectRoot: projectRoot, - distDir: distDir, - pkgJson: join(projectRoot, 'package.json'), - }, - strictConfig: strictConfig, - }; -} diff --git a/packages/stencil/src/executors/stencil-runtime/stencil-parameters.ts b/packages/stencil/src/executors/stencil-runtime/stencil-parameters.ts deleted file mode 100644 index f7109b4d3..000000000 --- a/packages/stencil/src/executors/stencil-runtime/stencil-parameters.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { StencilBaseConfigOptions } from './stencil-config'; - -export function parseRunParameters( - runOptions: string[], - options: T -) { - Object.keys(options).forEach((optionKey: string) => { - if (typeof options[optionKey] === 'boolean' && options[optionKey]) { - runOptions.push(`--${optionKey}`); - } else if (options[optionKey]) { - runOptions.push(`--${optionKey}=${options[optionKey]}`); - } - }); - - return runOptions; -} diff --git a/packages/stencil/src/executors/stencil-runtime/stencil-process.ts b/packages/stencil/src/executors/stencil-runtime/stencil-process.ts deleted file mode 100644 index 9c54a129a..000000000 --- a/packages/stencil/src/executors/stencil-runtime/stencil-process.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { runTask } from '@stencil/core/cli'; -import type { Config } from '@stencil/core/compiler'; -import { CompilerSystem } from '@stencil/core/sys/node'; - -type CoreCompiler = typeof import('@stencil/core/compiler'); - -export const loadCoreCompiler = async ( - sys: CompilerSystem -): Promise => { - await sys.dynamicImport(sys.getCompilerExecutingPath()); - - return (globalThis as any).stencil; -}; - -export async function createStencilProcess(config: Config): Promise { - const coreCompiler = await loadCoreCompiler(config.sys); - - await runTask(coreCompiler, config, config.flags.task); -} diff --git a/packages/stencil/src/executors/stencil-runtime/types.ts b/packages/stencil/src/executors/stencil-runtime/types.ts deleted file mode 100644 index c90bae91a..000000000 --- a/packages/stencil/src/executors/stencil-runtime/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type PathCollection = { - distDir: string; - projectRoot: string; - projectName: string; - pkgJson: string; -}; diff --git a/packages/stencil/src/executors/test/compat.ts b/packages/stencil/src/executors/test/compat.ts deleted file mode 100644 index 7a778f186..000000000 --- a/packages/stencil/src/executors/test/compat.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { convertNxExecutor } from '@nx/devkit'; - -import testExecutor from './executor'; - -export default convertNxExecutor(testExecutor); diff --git a/packages/stencil/src/executors/test/executor.ts b/packages/stencil/src/executors/test/executor.ts deleted file mode 100644 index bb1ccf735..000000000 --- a/packages/stencil/src/executors/test/executor.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { StencilTestOptions } from './schema'; -import { ConfigFlags, parseFlags, TaskCommand } from '@stencil/core/cli'; -import { - prepareConfigAndOutputargetPaths, - createStencilProcess, - initializeStencilConfig, -} from '../stencil-runtime'; -import { parseRunParameters } from '../stencil-runtime/stencil-parameters'; -import { ExecutorContext, logger } from '@nx/devkit'; -import { cleanupE2eTesting } from '../stencil-runtime/e2e-testing'; - -function createStencilCompilerOptions( - taskCommand: TaskCommand, - options: StencilTestOptions -): ConfigFlags { - let runOptions: string[] = [taskCommand]; - runOptions.push(`--spec`); - runOptions = parseRunParameters(runOptions, options); - - return parseFlags(runOptions); -} - -export default async function runExecutor( - options: StencilTestOptions, - context: ExecutorContext -) { - const taskCommand: TaskCommand = 'test'; - - logger.info(` - ### - ### You have to downgrade the Jest packages to Jest 27. We won't do this automatically cause it could break other Nx projects. - ### Stencil itself supports just Jest 27, Nx uses Jest 28 by default. Downgrade with caution! - ### - `); - - const flags: ConfigFlags = createStencilCompilerOptions(taskCommand, options); - const { strictConfig, pathCollection } = await initializeStencilConfig( - taskCommand, - options, - context, - flags - ); - const stencilConfig = await prepareConfigAndOutputargetPaths( - strictConfig, - pathCollection - ); - - try { - await createStencilProcess(stencilConfig); - - if (stencilConfig.flags.e2e) { - cleanupE2eTesting(pathCollection); - } - - return { success: true }; - } catch (err) { - logger.error(err.message); - - return { success: false, error: err.message }; - } -} diff --git a/packages/stencil/src/executors/test/schema.d.ts b/packages/stencil/src/executors/test/schema.d.ts deleted file mode 100644 index a36a067aa..000000000 --- a/packages/stencil/src/executors/test/schema.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { StencilBaseConfigOptions } from '../stencil-runtime/stencil-config'; -import { ProjectType } from '../../utils/typings'; - -export interface StencilTestOptions extends StencilBaseConfigOptions { - projectType?: ProjectType; - watch?: boolean; -} diff --git a/packages/stencil/src/executors/test/schema.json b/packages/stencil/src/executors/test/schema.json deleted file mode 100644 index 087d43f7c..000000000 --- a/packages/stencil/src/executors/test/schema.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Stencil build", - "description": "", - "type": "object", - "properties": { - "projectType": { - "type": "string" - }, - "configPath": { - "type": "string", - "description": "Path to the stencil.config.ts file." - }, - "watch": { - "type": "boolean" - } - }, - "required": [] -} diff --git a/packages/stencil/src/generators/add-outputtarget/add-angular/generator.ts b/packages/stencil/src/generators/add-outputtarget/add-angular/generator.ts deleted file mode 100644 index b1ee42865..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-angular/generator.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { - addDependenciesToPackageJson, - applyChangesToString, - convertNxGenerator, - ensurePackage, - getWorkspaceLayout, - joinPathFragments, - NX_VERSION, - readProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { AddOutputtargetSchematicSchema } from '../schema'; -import { STENCIL_OUTPUTTARGET_VERSION } from '../../../utils/versions'; -import { addToGitignore } from '../../../utils/utillities'; -import { calculateStencilSourceOptions } from '../lib/calculate-stencil-source-options'; -import * as ts from 'typescript'; -import { relative } from 'path'; -import { getDistDir } from '../../../utils/fileutils'; -import { addOutputTarget } from '../../../stencil-core-utils'; -import { createSourceFile, ScriptTarget } from 'typescript'; -import { - addDeclarationToModule, - addExportToModule, -} from '../../../utils/angular-ast-utils'; -import { getProjectTsImportPath } from '../../storybook-configuration/generator'; -import { addAfterLastImport, addImport } from '@nxext/core'; -import { addGlobal } from '@nx/js'; - -async function prepareAngularLibrary( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const angularProjectName = `${options.projectName}-angular`; - const { libsDir } = getWorkspaceLayout(host); - - await ensurePackage('@nx/angular', NX_VERSION); - const generators = await import('@nx/angular/generators'); - const libraryTarget = await generators.libraryGenerator(host, { - name: angularProjectName, - skipFormat: true, - publishable: options.publishable, - importPath: options.importPath, - }); - - addDependenciesToPackageJson( - host, - {}, - { - '@stencil/angular-output-target': STENCIL_OUTPUTTARGET_VERSION['angular'], - } - ); - - addToGitignore(host, `${libsDir}/${angularProjectName}/**/generated`); - - return libraryTarget; -} - -function addAngularOutputtarget( - host: Tree, - projectName: string, - stencilProjectConfig, - stencilConfigPath: string, - stencilConfigSource: ts.SourceFile, - packageName: string -) { - const angularProjectConfig = readProjectConfiguration( - host, - `${projectName}-angular` - ); - const realtivePath = relative( - getDistDir(stencilProjectConfig.root), - angularProjectConfig.root - ); - const proxyPath = joinPathFragments( - realtivePath, - 'src/generated/directives/proxies.ts' - ); - const arrayPath = joinPathFragments( - realtivePath, - 'src/generated/directives/index.ts' - ); - - const changes = applyChangesToString(stencilConfigSource.text, [ - ...addImport( - stencilConfigSource, - `import { angularOutputTarget, ValueAccessorConfig } from '@stencil/angular-output-target';` - ), - ...addOutputTarget( - stencilConfigSource, - ` - angularOutputTarget({ - componentCorePackage: '${packageName}', - directivesProxyFile: '${proxyPath}', - directivesArrayFile: '${arrayPath}', - valueAccessorConfigs: angularValueAccessorBindings - }), - ` - ), - ]); - host.write(stencilConfigPath, changes); - - addGlobal( - host, - stencilConfigSource, - stencilConfigPath, - 'const angularValueAccessorBindings: ValueAccessorConfig[] = [];' - ); -} - -function addLibraryDirectives( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const angularProjectName = `${options.projectName}-angular`; - const { libsDir } = getWorkspaceLayout(host); - - const modulePath = joinPathFragments( - `${libsDir}/${angularProjectName}/src/lib/${angularProjectName}.module.ts` - ); - const sourceText = host.read(modulePath, 'utf-8'); - let sourceFile = createSourceFile( - modulePath, - sourceText, - ScriptTarget.Latest, - true - ); - sourceFile = addDeclarationToModule( - host, - sourceFile, - modulePath, - '...DIRECTIVES' - ); - sourceFile = addExportToModule(host, sourceFile, modulePath, '...DIRECTIVES'); - - const changes = applyChangesToString(sourceFile.getFullText(), [ - ...addImport( - sourceFile, - `import { DIRECTIVES } from '../generated/directives';` - ), - ...addImport( - sourceFile, - `import { defineCustomElements} from '${getProjectTsImportPath( - host, - options.projectName - )}/loader';` - ), - addAfterLastImport(sourceFile, `\ndefineCustomElements();\n`), - ]); - - host.write(modulePath, changes); -} - -export async function addAngularGenerator( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const libraryTarget = await prepareAngularLibrary(host, options); - - addLibraryDirectives(host, options); - - const { - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName, - } = calculateStencilSourceOptions(host, options.projectName); - - addAngularOutputtarget( - host, - options.projectName, - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName - ); - - return libraryTarget; -} - -export default addAngularGenerator; -export const addAngularSchematic = convertNxGenerator(addAngularGenerator); diff --git a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-angular.spec.ts b/packages/stencil/src/generators/add-outputtarget/add-outputtarget-angular.spec.ts deleted file mode 100644 index 59e765c44..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-angular.spec.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { createTestUILib } from '../../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { names, Tree } from '@nx/devkit'; -import { outputtargetGenerator } from './add-outputtarget'; -import { AddOutputtargetSchematicSchema } from './schema'; - -xdescribe('add-outputtarget angular', () => { - let tree: Tree; - const projectName = uniq('testproject'); - const options = { - projectName: projectName, - publishable: false, - skipFormat: false, - }; - - beforeEach(async () => { - tree = await createTestUILib(projectName); - }); - - describe('using angular', () => { - const angularOptions: AddOutputtargetSchematicSchema = { - ...options, - unitTestRunner: 'none', - outputType: 'angular', - }; - - it('should generate default angular library', async () => { - await outputtargetGenerator(tree, angularOptions); - - const fileName = names(projectName + '-angular').fileName; - expect( - tree.exists(`libs/${projectName}-angular/src/lib/${fileName}.module.ts`) - ).toBeTruthy(); - }); - - it('should add default directive definitions', async () => { - await outputtargetGenerator(tree, angularOptions); - - const fileName = names(projectName + '-angular').fileName; - expect( - tree - .read(`libs/${projectName}-angular/src/lib/${fileName}.module.ts`) - .includes(`import { DIRECTIVES } from '../generated/directives';`) - ).toBeTruthy(); - expect( - tree - .read(`libs/${projectName}-angular/src/lib/${fileName}.module.ts`) - .includes(`declarations: [...DIRECTIVES]`) - ).toBeTruthy(); - expect( - tree - .read(`libs/${projectName}-angular/src/lib/${fileName}.module.ts`) - .includes(`exports: [...DIRECTIVES]`) - ).toBeTruthy(); - }); - - it('should add angularOutputTarget', async () => { - await outputtargetGenerator(tree, angularOptions); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes( - `import { angularOutputTarget, ValueAccessorConfig } from '@stencil/angular-output-target';` - ) - ).toBeTruthy(); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes( - `const angularValueAccessorBindings: ValueAccessorConfig[] = [];` - ) - ).toBeTruthy(); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes(`angularOutputTarget({`) - ).toBeTruthy(); - }); - - it('should be able to generate a publishable lib', async () => { - await outputtargetGenerator(tree, { - ...angularOptions, - publishable: true, - importPath: '@proj/mylib', - }); - - expect(tree.exists(`libs/${projectName}/package.json`)).toBeTruthy(); - }); - }); -}); diff --git a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-react.spec.ts b/packages/stencil/src/generators/add-outputtarget/add-outputtarget-react.spec.ts deleted file mode 100644 index 2fb571633..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-react.spec.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { createTestUILib } from '../../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { Tree } from '@nx/devkit'; -import { outputtargetGenerator } from './add-outputtarget'; -import { AddOutputtargetSchematicSchema } from './schema'; - -xdescribe('add-outputtarget react', () => { - let tree: Tree; - const projectName = uniq('testproject'); - const options = { - projectName: projectName, - publishable: false, - skipFormat: false, - }; - - beforeEach(async () => { - tree = await createTestUILib(projectName); - }); - - describe('using react', () => { - const reactOptions: AddOutputtargetSchematicSchema = { - ...options, - unitTestRunner: 'none', - outputType: 'react', - }; - - it('should not generate default react library', async () => { - await outputtargetGenerator(tree, reactOptions); - - expect( - tree.exists( - `libs/${projectName}-react/src/lib/${projectName}-react.tsx` - ) - ).toBeFalsy(); - expect( - tree.exists( - `libs/${projectName}-react/src/lib/${projectName}-react.spec.tsx` - ) - ).toBeFalsy(); - expect( - tree.exists( - `libs/${projectName}-react/src/lib/${projectName}-react.css` - ) - ).toBeFalsy(); - - const indexFile: Buffer = tree.read( - `libs/${projectName}-react/src/index.ts` - ); - expect(indexFile.toString()).toMatch( - `export * from './generated/components';` - ); - }); - - it('should add reactOutputTarget', async () => { - await outputtargetGenerator(tree, reactOptions); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes( - `import { reactOutputTarget } from '@stencil/react-output-target';` - ) - ).toBeTruthy(); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes(`reactOutputTarget({`) - ).toBeTruthy(); - }); - - it('should be able to generate a publishable lib', async () => { - await outputtargetGenerator(tree, { - ...reactOptions, - publishable: true, - importPath: '@proj/mylib', - }); - - expect(tree.exists(`libs/${projectName}/package.json`)).toBeTruthy(); - }); - }); -}); diff --git a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-svelte.spec.ts b/packages/stencil/src/generators/add-outputtarget/add-outputtarget-svelte.spec.ts deleted file mode 100644 index 4c5b57314..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-svelte.spec.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { createTestUILib } from '../../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { Tree } from '@nx/devkit'; -import { outputtargetGenerator } from './add-outputtarget'; -import { AddOutputtargetSchematicSchema } from './schema'; - -describe('add-outputtarget svelte', () => { - let tree: Tree; - const projectName = uniq('testproject'); - const options = { - projectName: projectName, - publishable: false, - skipFormat: false, - }; - - beforeEach(async () => { - tree = await createTestUILib(projectName); - tree.write( - 'package.json', - ` - { - "name": "test-name", - "dependencies": {}, - "devDependencies": { - "@nx/workspace": "0.0.0" - } - } - ` - ); - }); - - describe('using svelte', () => { - const svelteOptions: AddOutputtargetSchematicSchema = { - ...options, - unitTestRunner: 'none', - outputType: 'svelte', - }; - - it('should generate default svelte library', async () => { - await outputtargetGenerator(tree, svelteOptions); - - expect( - tree.exists( - `libs/${projectName}-svelte/src/lib/${projectName}-react.tsx` - ) - ).toBeFalsy(); - expect( - tree.exists( - `libs/${projectName}-svelte/src/lib/${projectName}-react.spec.tsx` - ) - ).toBeFalsy(); - expect( - tree.exists( - `libs/${projectName}-svelte/src/lib/${projectName}-react.css` - ) - ).toBeFalsy(); - - const indexFile: Buffer = tree.read( - `libs/${projectName}-svelte/src/index.ts` - ); - expect(indexFile.toString()).toMatch( - `export * from './generated/components';` - ); - }); - - it('should add svelteOutputTarget', async () => { - await outputtargetGenerator(tree, svelteOptions); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes( - `import { svelteOutputTarget } from '@stencil/svelte-output-target';` - ) - ).toBeTruthy(); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes(`svelteOutputTarget({`) - ).toBeTruthy(); - }); - - it('should be able to generate a publishable lib', async () => { - await outputtargetGenerator(tree, { - ...svelteOptions, - publishable: true, - importPath: '@proj/mylib', - }); - - expect(tree.exists(`libs/${projectName}/package.json`)).toBeTruthy(); - }); - }); -}); diff --git a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-vue.spec.ts b/packages/stencil/src/generators/add-outputtarget/add-outputtarget-vue.spec.ts deleted file mode 100644 index a42c58704..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-outputtarget-vue.spec.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { createTestUILib } from '../../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { Tree } from '@nx/devkit'; -import { outputtargetGenerator } from './add-outputtarget'; -import { AddOutputtargetSchematicSchema } from './schema'; - -describe('add-outputtarget vue', () => { - let tree: Tree; - const projectName = uniq('testproject'); - const options = { - projectName: projectName, - publishable: false, - skipFormat: false, - }; - - beforeEach(async () => { - tree = await createTestUILib(projectName); - }); - - xdescribe('using vue', () => { - const vueOptions: AddOutputtargetSchematicSchema = { - ...options, - unitTestRunner: 'none', - outputType: 'vue', - }; - - it('should add vueOutputTarget', async () => { - await outputtargetGenerator(tree, vueOptions); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes( - `import { vueOutputTarget, ComponentModelConfig } from '@stencil/vue-output-target';` - ) - ).toBeTruthy(); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes(`const vueComponentModels: ComponentModelConfig[] = [];`) - ).toBeTruthy(); - - expect( - tree - .read(`libs/${projectName}/stencil.config.ts`) - .includes(`vueOutputTarget({`) - ).toBeTruthy(); - }); - - it('should be able to generate a publishable lib', async () => { - await outputtargetGenerator(tree, { ...vueOptions, publishable: true }); - - expect(tree.exists(`libs/${projectName}/package.json`)).toBeTruthy(); - }); - }); -}); diff --git a/packages/stencil/src/generators/add-outputtarget/add-outputtarget.ts b/packages/stencil/src/generators/add-outputtarget/add-outputtarget.ts deleted file mode 100644 index a21918593..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-outputtarget.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - convertNxGenerator, - formatFiles, - logger, - readProjectConfiguration, - stripIndents, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { isBuildableStencilProject } from '../../utils/utillities'; -import { AddOutputtargetSchematicSchema } from './schema'; -import addAngularGenerator from './add-angular/generator'; -import addReactGenerator from './add-react/generator'; -//import addVueGenerator from './add-vue/generator'; -import addSvelteGenerator from './add-svelte/generator'; - -export async function outputtargetGenerator( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const projectConfig = readProjectConfiguration(host, options.projectName); - const tasks = []; - - if (isBuildableStencilProject(projectConfig)) { - if (options.outputType === 'angular') { - tasks.push(await addAngularGenerator(host, options)); - } - - if (options.outputType === 'react') { - tasks.push(await addReactGenerator(host, options)); - } - - //if (options.outputType === 'vue') { - // tasks.push(await addVueGenerator(host, options)); - //} - - if (options.outputType === 'svelte') { - tasks.push(await addSvelteGenerator(host, options)); - } - - if (!options.skipFormat) { - await formatFiles(host); - } - } else { - logger.info(stripIndents` - Please use a buildable library for custom outputtargets - - You could make this library buildable with: - - nx generate @nxext/stencil:make-lib-buildable ${options.projectName} - or - ng generate @nxext/stencil:make-lib-buildable ${options.projectName} - `); - } - - return runTasksInSerial(...tasks); -} - -export default outputtargetGenerator; -export const outputtargetSchematic = convertNxGenerator(outputtargetGenerator); diff --git a/packages/stencil/src/generators/add-outputtarget/add-react/generator.ts b/packages/stencil/src/generators/add-outputtarget/add-react/generator.ts deleted file mode 100644 index 6ac6ba244..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-react/generator.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { - addDependenciesToPackageJson, - applyChangesToString, - convertNxGenerator, - ensurePackage, - getWorkspaceLayout, - NX_VERSION, - readProjectConfiguration, - runTasksInSerial, - Tree, -} from '@nx/devkit'; -import { initGenerator as jsInitGenerator } from '@nx/js'; -import { AddOutputtargetSchematicSchema } from '../schema'; -import { Linter } from '@nx/linter'; -import { STENCIL_OUTPUTTARGET_VERSION } from '../../../utils/versions'; -import { addToGitignore } from '../../../utils/utillities'; -import * as ts from 'typescript'; -import { getDistDir, getRelativePath } from '../../../utils/fileutils'; -import { addImport } from '@nxext/core'; -import { addOutputTarget } from '../../../stencil-core-utils'; -import { calculateStencilSourceOptions } from '../lib/calculate-stencil-source-options'; - -async function prepareReactLibrary( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const { libsDir } = getWorkspaceLayout(host); - const reactProjectName = `${options.projectName}-react`; - - const jsInitTask = await jsInitGenerator(host, { - ...options, - tsConfigName: 'tsconfig.base.json', - skipFormat: true, - }); - - ensurePackage('@nx/react', NX_VERSION); - const { libraryGenerator } = await import('@nx/react'); - const libraryTarget = await libraryGenerator(host, { - name: reactProjectName, - style: 'css', - publishable: options.publishable, - bundler: options.publishable ? 'rollup' : 'none', - importPath: options.importPath, - component: false, - skipTsConfig: false, - skipFormat: true, - unitTestRunner: 'jest', - linter: Linter.EsLint, - }); - - await addDependenciesToPackageJson( - host, - {}, - { - '@stencil/react-output-target': STENCIL_OUTPUTTARGET_VERSION['react'], - } - ); - - host.write( - `${libsDir}/${reactProjectName}/src/index.ts`, - `export * from './generated/components';` - ); - - addToGitignore(host, `${libsDir}/${reactProjectName}/**/generated`); - - return runTasksInSerial(jsInitTask, libraryTarget); -} - -function addReactOutputtarget( - tree: Tree, - projectName: string, - stencilProjectConfig, - stencilConfigPath: string, - stencilConfigSource: ts.SourceFile, - packageName: string -) { - const reactProjectConfig = readProjectConfiguration( - tree, - `${projectName}-react` - ); - const realtivePath = getRelativePath( - getDistDir(stencilProjectConfig.root), - reactProjectConfig.root - ); - - const changes = applyChangesToString(stencilConfigSource.text, [ - ...addImport( - stencilConfigSource, - `import { reactOutputTarget } from '@stencil/react-output-target';` - ), - ...addOutputTarget( - stencilConfigSource, - ` - reactOutputTarget({ - componentCorePackage: '${packageName}', - proxiesFile: '${realtivePath}/src/generated/components.ts', - includeDefineCustomElements: true, - }) - ` - ), - ]); - tree.write(stencilConfigPath, changes); -} - -export async function addReactGenerator( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const libraryTarget = await prepareReactLibrary(host, options); - - const { - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName, - } = calculateStencilSourceOptions(host, options.projectName); - - addReactOutputtarget( - host, - options.projectName, - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName - ); - - return libraryTarget; -} - -export default addReactGenerator; -export const addReactSchematic = convertNxGenerator(addReactGenerator); diff --git a/packages/stencil/src/generators/add-outputtarget/add-svelte/generator.ts b/packages/stencil/src/generators/add-outputtarget/add-svelte/generator.ts deleted file mode 100644 index a7f85cf2c..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-svelte/generator.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { - addDependenciesToPackageJson, - applyChangesToString, - convertNxGenerator, - ensurePackage, - getWorkspaceLayout, - readProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { AddOutputtargetSchematicSchema } from '../schema'; -import { Linter } from '@nx/linter'; -import { - nxextSvelteVersion, - STENCIL_OUTPUTTARGET_VERSION, -} from '../../../utils/versions'; -import { addToGitignore } from '../../../utils/utillities'; -import * as ts from 'typescript'; -import { getDistDir, getRelativePath } from '../../../utils/fileutils'; -import { addImport } from '@nxext/core'; -import { addOutputTarget } from '../../../stencil-core-utils'; -import { calculateStencilSourceOptions } from '../lib/calculate-stencil-source-options'; - -async function prepareSvelteLibrary( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const { libsDir } = getWorkspaceLayout(host); - const svelteProjectName = `${options.projectName}-svelte`; - - ensurePackage('@nxext/svelte', nxextSvelteVersion); - const { libraryGenerator } = await import('@nxext/svelte'); - const libraryTarget = await libraryGenerator(host, { - name: svelteProjectName, - publishable: options.publishable, - importPath: options.importPath, - unitTestRunner: 'jest', - e2eTestRunner: 'none', - linter: Linter.EsLint, - skipFormat: true, - }); - - await addDependenciesToPackageJson( - host, - {}, - { - '@stencil/svelte-output-target': STENCIL_OUTPUTTARGET_VERSION['svelte'], - } - ); - - host.write( - `${libsDir}/${svelteProjectName}/src/index.ts`, - `export * from './generated/components';` - ); - - addToGitignore(host, `${libsDir}/${svelteProjectName}/**/generated`); - - return libraryTarget; -} - -function addSvelteOutputtarget( - tree: Tree, - projectName: string, - stencilProjectConfig, - stencilConfigPath: string, - stencilConfigSource: ts.SourceFile, - packageName: string -) { - const svelteProjectConfig = readProjectConfiguration( - tree, - `${projectName}-svelte` - ); - const realtivePath = getRelativePath( - getDistDir(stencilProjectConfig.root), - svelteProjectConfig.root - ); - - const changes = applyChangesToString(stencilConfigSource.text, [ - ...addImport( - stencilConfigSource, - `import { svelteOutputTarget } from '@stencil/svelte-output-target';` - ), - ...addOutputTarget( - stencilConfigSource, - ` - svelteOutputTarget({ - componentCorePackage: '${packageName}', - proxiesFile: '${realtivePath}/src/generated/components.ts', - includeDefineCustomElements: true, - }) - ` - ), - ]); - tree.write(stencilConfigPath, changes); -} - -export async function addSvelteGenerator( - host: Tree, - options: AddOutputtargetSchematicSchema -) { - const libraryTarget = await prepareSvelteLibrary(host, options); - - const { - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName, - } = calculateStencilSourceOptions(host, options.projectName); - - addSvelteOutputtarget( - host, - options.projectName, - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName - ); - - return libraryTarget; -} - -export default addSvelteGenerator; -export const addSvelteSchematic = convertNxGenerator(addSvelteGenerator); diff --git a/packages/stencil/src/generators/add-outputtarget/add-vue/generator.ts b/packages/stencil/src/generators/add-outputtarget/add-vue/generator.ts deleted file mode 100644 index 3553dd844..000000000 --- a/packages/stencil/src/generators/add-outputtarget/add-vue/generator.ts +++ /dev/null @@ -1,130 +0,0 @@ -// import { -// addDependenciesToPackageJson, -// applyChangesToString, -// convertNxGenerator, -// getWorkspaceLayout, -// joinPathFragments, -// readProjectConfiguration, -// } from '@nx/devkit'; -// import type { GeneratorCallback, Tree } from '@nx/devkit'; -// import { AddOutputtargetSchematicSchema } from '../schema'; -// import { STENCIL_OUTPUTTARGET_VERSION } from '../../../utils/versions'; -// import { addToGitignore } from '../../../utils/utillities'; -// import * as ts from 'typescript'; -// import { getDistDir, getRelativePath } from '../../../utils/fileutils'; -// import { addImport } from '../../../utils/ast-utils'; -// import { addOutputTarget } from '../../../stencil-core-utils'; -// import { addGlobal } from '@nx/workspace/src/utilities/ast-utils'; -// import { calculateStencilSourceOptions } from '../lib/calculate-stencil-source-options'; -// -// export async function prepareVueLibrary( -// host: Tree, -// options: AddOutputtargetSchematicSchema -// ): Promise { -// const vueProjectName = `${options.projectName}-vue`; -// const { libsDir } = getWorkspaceLayout(host); -// -// const generators = await import('@nx-plus/vue'); -// const libraryTarget = await generators.libraryGenerator(host, { -// name: vueProjectName, -// publishable: options.publishable, -// vueVersion: 3, -// unitTestRunner: 'jest', -// skipTsConfig: false, -// skipFormat: false, -// babel: false, -// }); -// -// addDependenciesToPackageJson( -// host, -// {}, -// { -// '@stencil/vue-output-target': STENCIL_OUTPUTTARGET_VERSION['vue'], -// } -// ); -// -// host.delete(`${libsDir}/${vueProjectName}/tests/unit/example.spec.ts`); -// host.delete(`${libsDir}/${vueProjectName}/src/lib/HelloWorld.vue`); -// host.delete(`${libsDir}/${vueProjectName}/src/index.ts`); -// host.delete(`${libsDir}/${vueProjectName}/src/shims-tsx.d.ts`); -// host.delete(`${libsDir}/${vueProjectName}/src/shims-vue.d.ts`); -// -// addToGitignore(host, `${libsDir}/${vueProjectName}/**/generated`); -// -// return libraryTarget; -// } -// -// function addVueOutputtarget( -// host: Tree, -// projectName: string, -// stencilProjectConfig, -// stencilConfigPath: string, -// stencilConfigSource: ts.SourceFile, -// packageName: string -// ) { -// const reactProjectConfig = readProjectConfiguration( -// host, -// `${projectName}-vue` -// ); -// const realtivePath = getRelativePath( -// getDistDir(stencilProjectConfig.root), -// reactProjectConfig.root -// ); -// const proxyPath = joinPathFragments( -// realtivePath, -// 'src/generated/components.ts' -// ); -// -// const changes = applyChangesToString(stencilConfigSource.text, [ -// ...addImport( -// stencilConfigSource, -// `import { vueOutputTarget, ComponentModelConfig } from '@stencil/vue-output-target';` -// ), -// ...addOutputTarget( -// stencilConfigSource, -// ` -// vueOutputTarget({ -// componentCorePackage: '${packageName}', -// proxiesFile: '${proxyPath}', -// componentModels: vueComponentModels, -// }) -// ` -// ), -// ]); -// host.write(stencilConfigPath, changes); -// -// addGlobal( -// host, -// stencilConfigSource, -// stencilConfigPath, -// 'const vueComponentModels: ComponentModelConfig[] = [];' -// ); -// } -// -// export async function addVueGenerator( -// host: Tree, -// options: AddOutputtargetSchematicSchema -// ) { -// const libraryTarget = await prepareVueLibrary(host, options); -// -// const { -// stencilProjectConfig, -// stencilConfigPath, -// stencilConfigSource, -// packageName, -// } = calculateStencilSourceOptions(host, options.projectName); -// -// addVueOutputtarget( -// host, -// options.projectName, -// stencilProjectConfig, -// stencilConfigPath, -// stencilConfigSource, -// packageName -// ); -// -// return libraryTarget; -// } -// -// export default addVueGenerator; -// export const addVueSchematic = convertNxGenerator(addVueGenerator); diff --git a/packages/stencil/src/generators/add-outputtarget/lib/calculate-stencil-source-options.ts b/packages/stencil/src/generators/add-outputtarget/lib/calculate-stencil-source-options.ts deleted file mode 100644 index cbff8daef..000000000 --- a/packages/stencil/src/generators/add-outputtarget/lib/calculate-stencil-source-options.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { readProjectConfiguration, Tree } from '@nx/devkit'; -import { getNpmScope } from '@nx/js/src/utils/package-json/get-npm-scope'; -import * as ts from 'typescript'; -import { readTsSourceFile } from '@nxext/core'; - -export function calculateStencilSourceOptions(host: Tree, projectName: string) { - const stencilProjectConfig = readProjectConfiguration(host, projectName); - const npmScope = getNpmScope(host); - - const stencilConfigPath = `${stencilProjectConfig.root}/stencil.config.ts`; - const stencilConfigSource: ts.SourceFile = readTsSourceFile( - host, - stencilConfigPath - ); - - const packageName = `@${npmScope}/${projectName}`; - return { - stencilProjectConfig, - stencilConfigPath, - stencilConfigSource, - packageName, - }; -} diff --git a/packages/stencil/src/generators/add-outputtarget/schema.d.ts b/packages/stencil/src/generators/add-outputtarget/schema.d.ts deleted file mode 100644 index 03b3cdae8..000000000 --- a/packages/stencil/src/generators/add-outputtarget/schema.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { OutputTargetType } from './lib/add-outputtarget-to-config'; - -export type OutputTargetType = 'angular' | 'react' | 'vue' | 'svelte'; - -export interface AddOutputtargetSchematicSchema { - projectName: string; - outputType: OutputTargetType; - publishable: boolean; - importPath?: string; - unitTestRunner: 'jest' | 'none'; - skipFormat: boolean; -} diff --git a/packages/stencil/src/generators/add-outputtarget/schema.json b/packages/stencil/src/generators/add-outputtarget/schema.json deleted file mode 100644 index d72fc7256..000000000 --- a/packages/stencil/src/generators/add-outputtarget/schema.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "AddOutputtarget", - "title": "", - "type": "object", - "properties": { - "projectName": { - "type": "string", - "description": "Project for that the library should be generated.", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "For which project should the target be generated?" - }, - "outputType": { - "type": "string", - "enum": ["angular", "react", "svelte"], - "description": "Select what kind of library you want to generate.", - "x-prompt": "Which framework do you use?" - }, - "unitTestRunner": { - "description": "Adds the specified unit test runner.", - "type": "string", - "enum": ["jest", "none"], - "default": "jest" - }, - "publishable": { - "type": "boolean", - "description": "", - "default": false - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like @myorg/my-awesome-lib" - }, - "skipFormat": { - "type": "boolean", - "default": false - } - }, - "required": ["projectName", "outputType"] -} diff --git a/packages/stencil/src/generators/application/files/app/LICENSE.template b/packages/stencil/src/generators/application/files/app/LICENSE.template deleted file mode 100644 index 81f990d60..000000000 --- a/packages/stencil/src/generators/application/files/app/LICENSE.template +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 - -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/stencil/src/generators/application/files/app/src/assets/icon/favicon.ico b/packages/stencil/src/generators/application/files/app/src/assets/icon/favicon.ico deleted file mode 100644 index c6336b500bf5b2d6411a71412ecd35f59d6ad1cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 964 zcmZ`&+e#Zz6rC_anCO%=*hFK|5{Vb0qy;ZQdm%A4ofyWL#2A~@jEX2KQE6&J%_F8-GedgTO%-o!wq|Jox^1Bp8(T#WU4D!wC ziExW58I8RW$o_OHH=Wo`p>B#}sT;{2Y_9DATl{BYWpFKk4fSfq%qjUn|Ryzo>m5ggDvJS+g#ZnU)mUR9TIWp0lZy)rh{ zxh_K3+2 zP#3TUr0%9bJmT%`@QCWR8wIExyXp-=w&ta_f(5N1(O7D;pAtd8XyaS87)1I4uvOxI zyRmC6-7tJUpB0~{B!K(S?U1K^#b65X8?qMo^uggizaMFrmDd{ z>8; FK(}?RR2u*Q diff --git a/packages/stencil/src/generators/application/files/app/src/assets/icon/icon.png b/packages/stencil/src/generators/application/files/app/src/assets/icon/icon.png deleted file mode 100644 index 52466879360457bfcc0c7507d546c70308c86308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11941 zcmaJ{`&V4obv|=vh8f<&b7p{HhBrtEhKB@_fVqQsi|qumK3X&65ENAx^^CIf9Ma*>VMGhyXWYF9H&~} z-e>Q9&OPVsefHV+0{X+9ANBXPC&p#P2_X_YJ6Z;W&>(8UX+`tqD}{f!^CJl0{oO;Y z?aSRBkH?#tmF+L}W*6iH_IY!PvV6t4`Q@Ih0#8;xkm>dlnZB&7>>PhdT3R}W<>c)5 z`Es*!3$xuh-t5AxjDXjhRz`+L2n&|MKg{n-^SRv~x7&?XKZfmX7%p8} z!4_ItI%VhozWVBGH8qDnHWF%K;r_E{r%ii$rtbnBabuO*wSnG25m$9;#q9n>A+0MB zcDpl_J?--O3rajzi*YSAxn9vpc>lEsACov^3KTz85V}CfBN@sVJ9+!+{b%`%APlppsQ-uxX;xB}MR4 z4lq9P;Jc>=&~TNg21eS8HYgP{so-0TyYlBu2V}d8jwb71P7p9F8=C#%d?;6{CTBYP zGfWji4`_)`Rr+mrKaZ9n8chb9w{T5>LnLBcW7*t;#PIxfF{Fds@KQHeKd5?Gof_oh zIbhu9JbeWsvWemJqr$ZlMBDQI3*c2e!0sj{f&{ZuH+FN|Uyyg2ZF# zUX~pn+>-6xZ&)`Ng`-jhUsao+b@f_2xO#*J6OE?SrC0c%s4dlAz5g;Nhyx`TKl}lj z>J28yzyI}phV92MSqJCQ0!1L9=XB>DfnYoR)K;&&d&3^yIJa^fUCzv+gA5=Ly{wai zA|QqZD3=YNpOWGhnlU}34zMIMk--JHaBQZO;}<#2rhW#zWmww4m6K1M{jTF<=D1{! z6ayt_Ssg;4fia#KpsR#(LiUv=^N>t9I6CNR`Ppk|nP?a7vX2Q2Fd4YDMi5QS`C#L} z{mN(20E`H`!%_u*vbwEan)ah%AP!2^)SAXy}8)ho5F#fP8%^ zAf+tXNX~T8L5&xrK8c3)XJJ$7;Gu$EdbhCNEKNgG>pky$#q93eNmx#TR=3HC6G!M% zjOMV@;=qWz z3h$CHHj@|KA@F?jmKO7XRpdjhjKE+6XHFg&iarr;JT*DG$-)C`3>+1Jx;l2d-Um3 z^j@VIq&cd2pw2a(;v$GOlzW}w{+d~Id%1m&ILcVBg8&e$x zZhc6n+pMt&Uap4ze`-=Rf=q+?eCh?JW-CM(K2G4rlEH zC4%;X*Y>=>gwbJ_N^*__lIOt=X|TMkKD>rGqAo6 zngi?%c`|5@$DE>5?BhA9+E?Uwx!Ais?pEse= zmokt|Fj5~q7j7Q01bb&0;SzCOjSX>IiM&g(I#XLB*~*7`ivg|(a3IIo4l-urAcsd} zqdD!dt)Xe-X{lNDMkTP{VoatE3A#0y<`0TP51!$U7mvyj$2Q^{=nCWLu0%IlV9xsP z=LA;<+SzY86<#*J?=vPDp(n9ylS8;FtMF={)YaiQb{C(rvi_zoFcFds-zOnmq`OHV zP7r0dl7jAb?1HXxjbmb?Mpz>?JU0e`=AiP?n%lT8c2|(S1uB@la+aXJ!E0jkSju_4 z)^aM5BYF`FR6N%Xf&hBR<$xM)&hqQ8=SFNnR*9go#HghOvd$}=%_X@7&c*|fP@AF; zd!efh24LJUJCcl}c~S{;fAiW+bWMtc{&8~%1nYY@jUQAj&DV2oSWv8kOVG&mrY0$U_=2GiN$sanlLNuo zcK}qyb5Xli$1~c@lU37l94T-(t(ksEunNUR^6lYb2*xtq5CR~6Y}m#YjnmHLW`K%1 zOA4#JM1XaiJ)|RL&Y%BnKhusLp8^3NynF(DODgHy+zIA%?()9YFj{6g*R;O#RlZsi zR4gs?WpR9)RrK=-rqLKjNp$Y;x+ZZU&O6T7@|{v&RPIBQvtYOY0$!FzRHDq=V8P6usO$*IDlMa&oPK2brUc_rIltz(^31OD~FjvekXf zPwiy{-E_srtmAyf_Rs>cW7T4P-8ckjE>NJ1Q8j|+%7a7`*R^jBfV=3=WS8B;TDV)B+3h99W%n<8F;jYmc6Vc1ao~7x(`hf~v6XyU7V7>)~=?`w?X<-&*j) z!lz3+z?iX}m}m0o2$ zIz*3{Ee8h}X~6gm=xpkm)BU;&>JsGAw3nXmnW9SoI3v7ThH8m{l}jbH8EV( zL{v(AvjB8+8nnpgvOy9|Lp497rR1YCj760WMmOlNH2^j-Og%)rO zS!O*AQ`%{%f(N)2_6ozL4omW*7}~mtSX3R)Co15gJcsC!I3@ zj1s`G`5A1EWvx1W{KIdfp)Z%YJHVbR+cGQN0V;ODa<8}()PT0lg2j5{hp|#dgw|@# z2XG#Wtls&Y-^AT7LQJqmq~Y>Bg9`A7B_`4E(farZa|JjI66ZMO$Dp4mmKJrDR4k^M zG*y=Q3o07~<6c0c@hKNhNPyUo($soJOlu3tYAdiMY=G@1G873rcgN^*v-TiZUzqnL zd$(HjK?N`&`2T$Fvuf$#%k4EVFx+Zh;p6>uIMvZZ_6_>96Q;A41Ui~h;R~SQWML2k z5AeYL7)(uiRA)TNM|_|>S2h;{7)*)!LXLCsO`O66qsH=500Ma4?Q!}wsqw;IwXmYk z@*_oU-*Vu|(VcdPEnN;(xdnxVNEkom@`_jJ#*5&P;R|&CH9p{&00WM5<3MN~tb@Dc z297#~Ts3@@fnb=h>9TTuzmyTfKRJ30ZXw5OrHT`8UZ%$Bc&z) z9(Ly1hZZ#*;>14VLjaNlYmh2D++RUg9`@wh;v+Cs`dv@saRW3USvWgMCAyM`)RO;e8 zL=Q*Q$`0FmU!_N`w%uUGKh)Rvd$efMh`x3Lg+x=2+ujsg54H=-=k0M7Z2 zNX^#3XgHV|v7%6~)W#s?gNi_!&N&MMiy1TawG@$V>CpGX5a@G?eP{t&%iA|*Iu|Yurc?H)!Y{ ztg5>oya+v?=TxgZ^^7z`G;H_sEhJaL9X=21G2h3{MT;*sP1G|WS z@~bsJR1S{2e7==Clem=d_|uSByqMZK1%l;JG_qCzc~n63dk5rX29Dd0nX!aa^W#`2@JzPOm@uT)gqCB#6e}62j~P znAgAoKKAzQ?aX?#(T%gx3LYtmqe&uDHYZI3SCPmF$d>Z}j3;kfIg^3)gzjzHolzd1 z@pD_DI4$=7=JhW@mk{-%Jc(7%33Wor4o(-{;Y@&q3Mf!G41NqGK_7;m{Dr0+irOH{ z;7ocj?kBIxags;ZTyg0UCKI3y`?>(>VXw;c=H=)b+jubkv z7drckAogayq1Hkk2}0 z4&2RNe`P;i-i`F0zbwPf!tAHtfbpw(RS%^F{Fr6Peu4>8+5+a~mia=J=yO;qxKkCf zkKbd%(Ew|B{0bR}hY(T+#TXRZ_-x4(lT6J5Ng`BW@2BrQ`dhcqglfQsILNuoJo^|X z4z-FZ^+EmU3*+dmk|UIN3CuZ9AnnoLb${&1y=p516*F`}owr&i;rF+mg?&4P*&iqb za}U$4T#!T^-)B4t39%7AH^y-I7o%Qj+M>Ja=BX6@{jDF!J_hQ%c5<*os^F}1>VkQ6 zcVSv7bR)y)MF_+|(z9Yvg_Ha20Rj6!Dh$%V%m%hVom|*f?~oSBAHI%u)wK8-wc=&4 z$_FLLiZduJ$3=hUg7k#cF=%Xf1rHo{ObDnKu& z7BmOiy(3V7-A8&N_iu#gkcn#yd-4Z&q#=qX=rKEEMi_;jnpo2!1r=uXT7=DTXSiI& zllw3+1&NnbTFD9n1>uP~A8>TNE^VdCSy22%Tad5MA7<;;Ry>sx3~ zn&xRp%2P;{D$o#DDaJIj@{#t_!TATb!6kls%eZM!)Ct=xMV1BQ^`;^m-KQ}kT`AXX zPX(EKGJak_TjZJrF9C@UZ(l-_Tn#qYt=@bOpHVKs2=E9hK!s8TFN-UU@1U!7JcWy( zc@SSneW1_?SR+WnFPm0vh8{CLMT-vp^Y5}KF{l8eOosukP2#d#Bc_ATvDyJ$Ag*Z7+9c2NGGQU2R}R zT0;oU@TIoVx*iBe+?EYSkkR*n_F~vk#t*iBSL?>)!!OI8y2me4_fOJD|q6AqjJ~HI|^AcCZH7KXDZ;PkBk|;4QkHYuL8Veu7)*NVPC$0lp8C zmv{lE)dnCw`~nzY3GoNT3&T$S;~(;j(?Qw= zup~;HFlim^IA|}p6M!js)tUYz7DxJ>UE!*F$N3f6J&wlkkO99KVHw%iAG3zW1!@Kz z8UqV3GzFDgzj_XBhiyn_X6t$N_F_iiAV^geNYkMDo&11xLuYURPGzD}N-A4tbP7Qg z4mT5*7rf8@bO*D9w-gJn={!#fl^js|j6J7zOqzZ7?m%qv^=nn{-7t+mebp4t@giTB as@Pfh*$<@1dxrm?Ejn9!TOc+^!2S; - "app-profile": LocalJSX.AppProfile & JSXBase.HTMLAttributes; - "app-root": LocalJSX.AppRoot & JSXBase.HTMLAttributes; - } - } -} diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.__style__.template b/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.__style__.template deleted file mode 100644 index bbfb8360b..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.__style__.template +++ /dev/null @@ -1,26 +0,0 @@ -.app-home { - padding: 10px; -} - -button { - background: #5851ff; - color: white; - margin: 8px; - border: none; - font-size: 13px; - font-weight: 700; - text-transform: uppercase; - padding: 16px 20px; - border-radius: 2px; - box-shadow: 0 8px 16px rgba(0,0,0,.1), 0 3px 6px rgba(0,0,0,.08); - outline: 0; - letter-spacing: .04em; - transition: all .15s ease; - cursor: pointer; -} - -button:hover { - box-shadow: 0 3px 6px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.1); - transform: translateY(1px); -} - diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.e2e.ts.template b/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.e2e.ts.template deleted file mode 100644 index ab2cce159..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.e2e.ts.template +++ /dev/null @@ -1,19 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('app-home', () => { - it('renders', async () => { - const page = await newE2EPage(); - await page.setContent(''); - - const element = await page.find('app-home'); - expect(element).toHaveClass('hydrated'); - }); - - it('contains a "Profile Page" button', async () => { - const page = await newE2EPage(); - await page.setContent(''); - - const element = await page.find('app-home >>> button'); - expect(element.textContent).toEqual('Profile page'); - }); -}); diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.tsx.template b/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.tsx.template deleted file mode 100644 index 518725c1d..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-home/app-home.tsx.template +++ /dev/null @@ -1,28 +0,0 @@ -import { Component, h } from '@stencil/core'; - -@Component({ - tag: 'app-home', - styleUrl: 'app-home.<%= style %>', - shadow: true -}) -export class AppHome { - - render() { - return ( -
-

- Welcome to the Stencil App Starter. - You can use this starter to build entire apps all with - web components using Stencil! - Check out our docs on stenciljs.com to get started. -

- - - - -
- ); - } -} diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.__style__.template b/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.__style__.template deleted file mode 100644 index 6d24a3846..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.__style__.template +++ /dev/null @@ -1,3 +0,0 @@ -.app-profile { - padding: 10px; -} diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.e2e.ts.template b/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.e2e.ts.template deleted file mode 100644 index da93b1ba9..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.e2e.ts.template +++ /dev/null @@ -1,27 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('app-profile', () => { - it('renders', async () => { - const page = await newE2EPage(); - await page.setContent(''); - - const element = await page.find('app-profile'); - expect(element).toHaveClass('hydrated'); - }); - - it('displays the specified name', async () => { - const page = await newE2EPage({ url: '/profile/joseph' }); - - const profileElement = await page.find('app-root >>> app-profile'); - const element = profileElement.shadowRoot.querySelector('div'); - expect(element.textContent).toContain('Hello! My name is Joseph.'); - }); - - // it('includes a div with the class "app-profile"', async () => { - // const page = await newE2EPage({ url: '/profile/joseph' }); - - // I would like to use a selector like this above, but it does not seem to work - // const element = await page.find('app-root >>> app-profile >>> div'); - // expect(element).toHaveClass('app-profile'); - // }); -}); diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.spec.ts.template b/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.spec.ts.template deleted file mode 100644 index 24683a952..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.spec.ts.template +++ /dev/null @@ -1,47 +0,0 @@ -import { AppProfile } from './app-profile'; -import { newSpecPage } from '@stencil/core/testing'; - -describe('app-profile', () => { - - describe('normalization', () => { - it('returns a blank string if the name is undefined', async () => { - const {rootInstance} = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.normalize(undefined)).toEqual(''); - }); - - it('returns a blank string if the name is null', async () => { - const {rootInstance} = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.normalize(null)).toEqual(''); - }); - - it('capitalizes the first letter', async () => { - const {rootInstance} = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.normalize('quincy')).toEqual('Quincy'); - }); - - it('lower-cases the following letters', async () => { - const {rootInstance} = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.normalize('JOSEPH')).toEqual('Joseph'); - }); - - it('handles single letter names', async () => { - const {rootInstance} = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.normalize('q')).toEqual('Q'); - }); - }); -}); diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.tsx.template b/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.tsx.template deleted file mode 100644 index ef9da42f5..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-profile/app-profile.tsx.template +++ /dev/null @@ -1,31 +0,0 @@ -import { Component, Prop, h } from '@stencil/core'; -import { MatchResults } from '@stencil/router'; - -@Component({ - tag: 'app-profile', - styleUrl: 'app-profile.<%= style %>', - shadow: true -}) -export class AppProfile { - @Prop() match: MatchResults; - - normalize(name: string): string { - if (name) { - return name.substr(0, 1).toUpperCase() + name.substr(1).toLowerCase(); - } - return ''; - } - - render() { - if (this.match && this.match.params.name) { - return ( -
-

- Hello! My name is {this.normalize(this.match.params.name)}. My name was passed in - through a route param! -

-
- ); - } - } -} diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.__style__.template b/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.__style__.template deleted file mode 100644 index a8fb2e3dc..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.__style__.template +++ /dev/null @@ -1,15 +0,0 @@ -header { - background: #5851ff; - color: white; - height: 56px; - display: flex; - align-items: center; - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); -} - -h1 { - font-size: 1.4rem; - font-weight: 500; - color: #fff; - padding: 0 12px; -} diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.e2e.ts.template b/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.e2e.ts.template deleted file mode 100644 index 3446e2bef..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.e2e.ts.template +++ /dev/null @@ -1,17 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('app-root', () => { - it('renders', async () => { - const page = await newE2EPage({ url: '/'}); - - const element = await page.find('app-root'); - expect(element).toHaveClass('hydrated'); - }); - - it('renders the title', async () => { - const page = await newE2EPage({ url: '/'}); - - const element = await page.find('app-root >>> h1'); - expect(element.textContent).toEqual('Stencil App Starter'); - }); -}); diff --git a/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.tsx.template b/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.tsx.template deleted file mode 100644 index 114541ef7..000000000 --- a/packages/stencil/src/generators/application/files/app/src/components/app-root/app-root.tsx.template +++ /dev/null @@ -1,29 +0,0 @@ -import { Component, h } from '@stencil/core'; - - -@Component({ - tag: 'app-root', - styleUrl: 'app-root.<%= style %>', - shadow: true -}) -export class AppRoot { - - render() { - return ( -
-
-

Stencil App Starter

-
- -
- - - - - - -
-
- ); - } -} diff --git a/packages/stencil/src/generators/application/files/app/src/global/app.__style__.template b/packages/stencil/src/generators/application/files/app/src/global/app.__style__.template deleted file mode 100644 index c6d938ccb..000000000 --- a/packages/stencil/src/generators/application/files/app/src/global/app.__style__.template +++ /dev/null @@ -1,16 +0,0 @@ -/* - Global App CSS - ---------------------- - Use this file for styles that should be applied to all components. - For example, "font-family" within the "body" selector is a CSS property - most apps will want applied to all components. - - Any global CSS variables should also be applied here. -*/ - - -body { - margin: 0px; - padding: 0px; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; -} diff --git a/packages/stencil/src/generators/application/files/app/src/global/app.ts.template b/packages/stencil/src/generators/application/files/app/src/global/app.ts.template deleted file mode 100644 index 826167f53..000000000 --- a/packages/stencil/src/generators/application/files/app/src/global/app.ts.template +++ /dev/null @@ -1,7 +0,0 @@ -export default async () => { - /** - * The code to be executed should be placed within a default function that is - * exported by the global script. Ensure all of the code in the global script - * is wrapped in the function() that is exported. - */ -}; diff --git a/packages/stencil/src/generators/application/files/app/src/index.html.template b/packages/stencil/src/generators/application/files/app/src/index.html.template deleted file mode 100644 index 15c0b0f00..000000000 --- a/packages/stencil/src/generators/application/files/app/src/index.html.template +++ /dev/null @@ -1,25 +0,0 @@ - - - - - Stencil Starter App - - - - - - - - - - - - - - - - - - - - diff --git a/packages/stencil/src/generators/application/files/app/src/index.ts.template b/packages/stencil/src/generators/application/files/app/src/index.ts.template deleted file mode 100644 index 00799d03a..000000000 --- a/packages/stencil/src/generators/application/files/app/src/index.ts.template +++ /dev/null @@ -1,2 +0,0 @@ -export * from './components'; -import '@stencil/router'; diff --git a/packages/stencil/src/generators/application/files/app/src/manifest.json.template b/packages/stencil/src/generators/application/files/app/src/manifest.json.template deleted file mode 100644 index d43cf34fc..000000000 --- a/packages/stencil/src/generators/application/files/app/src/manifest.json.template +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "Stencil Starter", - "short_name": "Stencil", - "start_url": "/", - "display": "standalone", - "icons": [{ - "src": "assets/icon/icon.png", - "sizes": "512x512", - "type": "image/png" - }], - "background_color": "#16161d", - "theme_color": "#16161d" -} \ No newline at end of file diff --git a/packages/stencil/src/generators/application/files/app/stencil.config.ts.template b/packages/stencil/src/generators/application/files/app/stencil.config.ts.template deleted file mode 100644 index 96eda2d13..000000000 --- a/packages/stencil/src/generators/application/files/app/stencil.config.ts.template +++ /dev/null @@ -1,21 +0,0 @@ -import { Config } from '@stencil/core'; -// https://stenciljs.com/docs/config - -export const config: Config = { - globalStyle: 'src/global/app.<%= style %>', - globalScript: 'src/global/app.ts', - taskQueue: 'async', - sourceMap: true, - - outputTargets: [ - { - type: 'www', - // comment the following line to disable service workers in production - serviceWorker: null, - baseUrl: 'https://<% projectName %>.local/', - }, - ], - extras: { - experimentalImportInjection: true, - } -}; diff --git a/packages/stencil/src/generators/application/files/app/tsconfig.app.json.template b/packages/stencil/src/generators/application/files/app/tsconfig.app.json.template deleted file mode 100644 index 35b41a59d..000000000 --- a/packages/stencil/src/generators/application/files/app/tsconfig.app.json.template +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], -} diff --git a/packages/stencil/src/generators/application/files/app/tsconfig.json.template b/packages/stencil/src/generators/application/files/app/tsconfig.json.template deleted file mode 100644 index 97022b5e5..000000000 --- a/packages/stencil/src/generators/application/files/app/tsconfig.json.template +++ /dev/null @@ -1,26 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "allowUnreachableCode": false, - "declaration": false, - "experimentalDecorators": true, - "lib": [ - "dom", - "es2015" - ], - "moduleResolution": "node", - "module": "esnext", - "target": "es2017", - "noUnusedLocals": true, - "noUnusedParameters": true, - "jsx": "react", - "jsxFactory": "h" - }, - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - } - ] -} diff --git a/packages/stencil/src/generators/application/generator.spec.ts b/packages/stencil/src/generators/application/generator.spec.ts deleted file mode 100644 index 43aa5f7d1..000000000 --- a/packages/stencil/src/generators/application/generator.spec.ts +++ /dev/null @@ -1,129 +0,0 @@ -import { STYLE_PLUGIN_DEPENDENCIES } from '../../utils/typings'; -import { fileListForAppType } from '../../utils/testing'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { RawApplicationSchema } from './schema'; -import { - readJson, - readProjectConfiguration, - Tree, - updateJson, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { applicationGenerator } from './generator'; -import { Linter } from '@nx/linter'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); -// eslint-disable-next-line @typescript-eslint/no-var-requires -const readNxVersionModule = require('../../utils/utillities'); - -describe('schematic:application', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - jest.spyOn(readNxVersionModule, 'readNxVersion').mockReturnValue('15.7.0'); - - let host: Tree; - const options: RawApplicationSchema = { name: 'test', linter: Linter.None }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(host, '/package.json', (json) => { - json.devDependencies = { - '@nx/workspace': '15.7.0', - }; - return json; - }); - }); - - it('should add tags to nx.json', async () => { - await applicationGenerator(host, { ...options, tags: 'e2etag,e2ePackage' }); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.tags).toEqual(['e2etag', 'e2ePackage']); - }); - - it('should add Stencil dependencies', async () => { - await applicationGenerator(host, options); - - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - expect(packageJson.devDependencies['@ionic/core']).toBeUndefined(); - }); - - it('should create files', async () => { - await applicationGenerator(host, { ...options, linter: Linter.EsLint }); - - const fileList = fileListForAppType( - options.name, - SupportedStyles.css, - 'application' - ); - fileList.forEach((file) => expect(host.exists(file))); - - const eslintJson = readJson(host, 'apps/test/.eslintrc.json'); - expect(eslintJson.extends).toEqual([ - 'plugin:@stencil/recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - '../../.eslintrc.json', - ]); - }); - - it('should create files in specified dir', async () => { - await applicationGenerator(host, { ...options, directory: 'subdir' }); - - const fileList = fileListForAppType( - options.name, - SupportedStyles.css, - 'application', - 'subdir' - ); - fileList.forEach((file) => expect(host.exists(file))); - }); - - Object.keys(SupportedStyles).forEach((style) => { - it(`should add Stencil ${style} dependencies to application`, async () => { - await applicationGenerator(host, { - ...options, - style: SupportedStyles[style], - }); - - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - - const styleDependencies = STYLE_PLUGIN_DEPENDENCIES[style]; - for (const devDependenciesKey in styleDependencies.devDependencies) { - expect(packageJson.devDependencies[devDependenciesKey]).toBeDefined(); - } - }); - }); - - Object.keys(SupportedStyles).forEach((style) => { - it(`should add component config for ${style} to workspace config`, async () => { - await applicationGenerator(host, { - ...options, - style: SupportedStyles[style], - }); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.generators).toEqual({ - '@nxext/stencil:component': { - style: style, - }, - }); - }); - }); - - it(`shouldn't create spec files if unitTestrunner is 'none'`, async () => { - await applicationGenerator(host, { ...options, unitTestRunner: 'none' }); - - expect( - host.exists(`apps/test/src/components/app-home/app-home.spec.ts`) - ).toBeFalsy(); - expect( - host.exists(`apps/test/src/components/app-root/app-root.spec.ts`) - ).toBeFalsy(); - expect( - host.exists(`apps/test/src/components/app-profile/app-profile.spec.ts`) - ).toBeFalsy(); - }); -}); diff --git a/packages/stencil/src/generators/application/generator.ts b/packages/stencil/src/generators/application/generator.ts deleted file mode 100644 index 7730285f0..000000000 --- a/packages/stencil/src/generators/application/generator.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { AppType } from './../../utils/typings'; -import { - convertNxGenerator, - formatFiles, - generateFiles, - getWorkspaceLayout, - names, - offsetFromRoot, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { ApplicationSchema, RawApplicationSchema } from './schema'; -import { calculateStyle } from '../../utils/utillities'; -import { initGenerator } from '../init/init'; -import { join } from 'path'; -import { addProject } from './lib/add-project'; -import { addLinting } from './lib/add-linting'; -import { addCypress } from './lib/add-cypress'; - -function normalizeOptions( - host: Tree, - options: RawApplicationSchema -): ApplicationSchema { - const { appsDir } = getWorkspaceLayout(host); - const projectName = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${projectName}` - : projectName; - const projectRoot = `${appsDir}/${projectDirectory}`; - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - const style = calculateStyle(options.style); - - const appType = AppType.application; - - return { - ...options, - projectName, - projectRoot, - projectDirectory, - parsedTags, - style, - appType, - }; -} - -function createFiles(host: Tree, options: ApplicationSchema) { - generateFiles(host, join(__dirname, './files/app'), options.projectRoot, { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - }); - - if (options.unitTestRunner === 'none') { - host.delete( - `${options.projectRoot}/src/components/app-home/app-home.spec.ts` - ); - host.delete( - `${options.projectRoot}/src/components/app-root/app-root.spec.ts` - ); - host.delete( - `${options.projectRoot}/src/components/app-profile/app-profile.spec.ts` - ); - } -} - -export async function applicationGenerator( - host: Tree, - schema: RawApplicationSchema -) { - const options = normalizeOptions(host, schema); - const initTask = await initGenerator(host, { - ...options, - skipFormat: true, - }); - - createFiles(host, options); - addProject(host, options); - const lintTask = await addLinting(host, options); - const cypressTask = await addCypress(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, lintTask, cypressTask); -} - -export default applicationGenerator; -export const applicationSchematic = convertNxGenerator(applicationGenerator); diff --git a/packages/stencil/src/generators/application/lib/add-cypress.ts b/packages/stencil/src/generators/application/lib/add-cypress.ts deleted file mode 100644 index 2faf3d0ea..000000000 --- a/packages/stencil/src/generators/application/lib/add-cypress.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { ApplicationSchema } from '../schema'; -import { readNxVersion } from '../../../utils/utillities'; - -export async function addCypress(host: Tree, options: ApplicationSchema) { - if (options.e2eTestRunner !== 'cypress') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/cypress', NX_VERSION); - const { cypressProjectGenerator } = await import('@nx/cypress'); - return await cypressProjectGenerator(host, { - ...options, - name: `${options.name}-e2e`, - directory: options.directory, - project: options.name, - }); -} diff --git a/packages/stencil/src/generators/application/lib/add-linting.ts b/packages/stencil/src/generators/application/lib/add-linting.ts deleted file mode 100644 index 92a14de7c..000000000 --- a/packages/stencil/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - addDependenciesToPackageJson, - ensurePackage, - GeneratorCallback, - joinPathFragments, - NX_VERSION, - Tree, - updateJson, - runTasksInSerial, -} from '@nx/devkit'; -import { ApplicationSchema } from '../schema'; -import { Linter } from '@nx/linter'; -import { - createStencilEslintJson, - extraEslintDependencies, -} from '../../../utils/lint'; - -export async function addLinting(host: Tree, options: ApplicationSchema) { - if (options.linter !== Linter.EsLint) { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/linter', NX_VERSION); - const { lintProjectGenerator } = await import('@nx/linter'); - - const tasks: GeneratorCallback[] = []; - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.projectName, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx}`], - skipFormat: true, - }); - tasks.push(lintTask); - - const stencilEslintJson = createStencilEslintJson(options.projectRoot); - updateJson( - host, - joinPathFragments(options.projectRoot, '.eslintrc.json'), - () => stencilEslintJson - ); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - tasks.push(installTask); - - return runTasksInSerial(...tasks); -} diff --git a/packages/stencil/src/generators/application/lib/add-project.ts b/packages/stencil/src/generators/application/lib/add-project.ts deleted file mode 100644 index 5cd1585dd..000000000 --- a/packages/stencil/src/generators/application/lib/add-project.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ApplicationSchema } from '../schema'; -import { addProjectConfiguration, Tree } from '@nx/devkit'; -import { getDefaultTargets } from '../../../utils/targets'; -import { addStylePluginToConfig } from '../../../stencil-core-utils'; -import { join } from 'path'; - -export function addProject(host: Tree, options: ApplicationSchema) { - const targets = getDefaultTargets('application', options); - - addProjectConfiguration(host, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'application', - generators: { - '@nxext/stencil:component': { - style: options.style, - }, - }, - tags: options.parsedTags, - targets, - }); - - addStylePluginToConfig( - host, - join(options.projectRoot, 'stencil.config.ts'), - options.style - ); -} diff --git a/packages/stencil/src/generators/application/schema.d.ts b/packages/stencil/src/generators/application/schema.d.ts deleted file mode 100644 index 4b9cdfa52..000000000 --- a/packages/stencil/src/generators/application/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { AppType } from './../../utils/typings'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { Linter } from '@nx/linter'; - -export interface RawApplicationSchema { - name: string; - tags?: string; - directory?: string; - style?: SupportedStyles; - skipFormat?: boolean; - appType?: AppType; - e2eTestRunner?: string; - unitTestRunner?: string; - projectRoot?: string; - linter?: Linter; -} - -export interface ApplicationSchema extends RawApplicationSchema { - projectName: string; - projectRoot: string; - projectDirectory: string; - parsedTags: string[]; - appType: AppType; - style: SupportedStyles; -} diff --git a/packages/stencil/src/generators/application/schema.json b/packages/stencil/src/generators/application/schema.json deleted file mode 100644 index 1c73404bc..000000000 --- a/packages/stencil/src/generators/application/schema.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Nxext-Application", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed", - "alias": "d" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["puppeteer", "none"], - "description": "Test runner to use for end to end (e2e) tests", - "default": "puppeteer" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "skipFormat": { - "type": "boolean", - "default": false - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "style": { - "description": "The file extension to be used for style files.", - "type": "string", - "default": "css", - "alias": "s", - "x-prompt": { - "message": "Which stylesheet format would you like to use?", - "type": "list", - "items": [ - { - "value": "css", - "label": "CSS" - }, - { - "value": "scss", - "label": "SASS(.scss) [ http://sass-lang.com ]" - }, - { - "value": "styl", - "label": "Stylus(.styl) [ http://stylus-lang.com ]" - }, - { - "value": "less", - "label": "LESS [ http://lesscss.org ]" - }, - { - "value": "pcss", - "label": "PostCSS [ https://postcss.org/ ]" - } - ] - } - } - }, - "required": ["name"] -} diff --git a/packages/stencil/src/generators/component/component.spec.ts b/packages/stencil/src/generators/component/component.spec.ts deleted file mode 100644 index ce365369a..000000000 --- a/packages/stencil/src/generators/component/component.spec.ts +++ /dev/null @@ -1,155 +0,0 @@ -import componentGenerator, { ComponentSchema } from './component'; -import { createTestUILib, testNpmScope } from '../../utils/testing'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { names, Tree } from '@nx/devkit'; -import storybookConfigurationGenerator from '../storybook-configuration/generator'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); -// eslint-disable-next-line @typescript-eslint/no-var-requires -const readNxVersionModule = require('../../utils/utillities'); - -describe('component schematic', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - jest.spyOn(readNxVersionModule, 'readNxVersion').mockReturnValue('15.7.0'); - - let tree: Tree; - const projectName = 'test-project'; - const options: ComponentSchema = { - name: 'test-component', - project: projectName, - }; - - beforeEach(async () => { - tree = await createTestUILib(projectName, SupportedStyles.scss); - }); - - it('should generate files', async () => { - await componentGenerator(tree, options); - - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.tsx' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.e2e.ts' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.spec.tsx' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.scss' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.stories.tsx' - ) - ).toBeFalsy(); - }); - - it('should generate files in directory', async () => { - await componentGenerator(tree, { - ...options, - directory: 'sub-dir', - }); - - expect( - tree.exists( - 'libs/test-project/src/components/sub-dir/test-component/test-component.tsx' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/sub-dir/test-component/test-component.e2e.ts' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/sub-dir/test-component/test-component.spec.tsx' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/sub-dir/test-component/test-component.scss' - ) - ).toBeTruthy(); - }); - - it('should generate files with storybook enabled', async () => { - await storybookConfigurationGenerator(tree, { - name: projectName, - configureCypress: false, - }); - await componentGenerator(tree, options); - - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.tsx' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.e2e.ts' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.spec.tsx' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.scss' - ) - ).toBeTruthy(); - expect( - tree.exists( - 'libs/test-project/src/components/test-component/test-component.stories.tsx' - ) - ).toBeTruthy(); - }); - - describe('generated stories.tsx file import statement', () => { - let classPathValue: string; - let className: string; - let contents: string; - - const generate = async () => { - await storybookConfigurationGenerator(tree, { - name: projectName, - configureCypress: false, - }); - await componentGenerator(tree, options); - - classPathValue = `@${testNpmScope}/${options.project}/${options.name}`; - className = names(options.name).className; - contents = tree.read( - 'libs/test-project/src/components/test-component/test-component.stories.tsx', - 'utf-8' - ); - }; - - it('should set class name portion of import statement', async () => { - await generate(); - expect(contents).toContain(className); - }); - - it('should set path portion of import statement', async () => { - await generate(); - expect(contents).toContain(classPathValue); - }); - - it('should insert constructed import statement', async () => { - await generate(); - const importStatement = `import { ${className} } from '${classPathValue}`; - expect(contents).toContain(importStatement); - }); - }); -}); diff --git a/packages/stencil/src/generators/component/component.ts b/packages/stencil/src/generators/component/component.ts deleted file mode 100644 index 68521099b..000000000 --- a/packages/stencil/src/generators/component/component.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { - convertNxGenerator, - generateFiles, - joinPathFragments, - logger, - names, - stripIndents, - Tree, - readProjectConfiguration, - formatFiles, -} from '@nx/devkit'; -import { join } from 'path'; -import { insertStatement } from '../../utils/insert-statement'; -import { getProjectTsImportPath } from '../storybook-configuration/generator'; - -export interface ComponentSchema { - name: string; - project: string; - directory?: string; - style?: string; - skipFormat?: boolean; -} - -export async function componentGenerator(host: Tree, options: ComponentSchema) { - if (!/[-]/.test(options.name)) { - throw new Error(stripIndents` - "${options.name}" tag must contain a dash (-) to work as a valid web component. Please refer to - https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name for more info. - `); - } - - const componentFileName = names(options.name).fileName; - const className = names(options.name).className; - const projectConfig = readProjectConfiguration(host, options.project); - - const componentDirectory = options.directory - ? joinPathFragments(`${options.directory}/${componentFileName}`) - : componentFileName; - - const componentOptions = ((projectConfig || {}).generators || { - '@nxext/stencil:component': {}, - })['@nxext/stencil:component']; - if (!componentOptions) { - logger.info(stripIndents` - Style options for components not set, please run "nx migrate @nxext/stencil" - `); - } - - options = { - ...options, - ...componentOptions, - }; - - generateFiles( - host, - join(__dirname, './files/component'), - joinPathFragments( - `${projectConfig.sourceRoot}/components/${componentDirectory}` - ), - { - componentFileName: componentFileName, - className: className, - style: options.style, - } - ); - - const storiesPath = `${projectConfig.sourceRoot}/components/${componentDirectory}/${componentFileName}.stories.tsx`; - if (!host.exists('.storybook')) { - host.delete(joinPathFragments(storiesPath)); - } else { - const classPathValue = `${getProjectTsImportPath( - host, - options.project - )}/${componentFileName}`; - insertStatement( - host, - storiesPath, - `import { ${className} } from '${classPathValue}'` - ); - } - - if (!options.skipFormat) { - await formatFiles(host); - } -} - -export default componentGenerator; -export const componentSchematic = convertNxGenerator(componentGenerator); diff --git a/packages/stencil/src/generators/component/files/component/__componentFileName__.__style__.template b/packages/stencil/src/generators/component/files/component/__componentFileName__.__style__.template deleted file mode 100644 index 5d4e87f30..000000000 --- a/packages/stencil/src/generators/component/files/component/__componentFileName__.__style__.template +++ /dev/null @@ -1,3 +0,0 @@ -:host { - display: block; -} diff --git a/packages/stencil/src/generators/component/files/component/__componentFileName__.e2e.ts.template b/packages/stencil/src/generators/component/files/component/__componentFileName__.e2e.ts.template deleted file mode 100644 index 0e3817e66..000000000 --- a/packages/stencil/src/generators/component/files/component/__componentFileName__.e2e.ts.template +++ /dev/null @@ -1,32 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('<%= componentFileName %>', () => { - it('renders', async () => { - const page = await newE2EPage(); - - await page.setContent('<<%= componentFileName %>>>'); - const element = await page.find('<%= componentFileName %>'); - expect(element).toHaveClass('hydrated'); - }); - - it('renders changes to the name data', async () => { - const page = await newE2EPage(); - - await page.setContent('<<%= componentFileName %>>>'); - const component = await page.find('<%= componentFileName %>'); - const element = await page.find('<%= componentFileName %> >>> div'); - expect(element.textContent).toEqual(`Hello, World! I'm `); - - component.setProperty('first', 'James'); - await page.waitForChanges(); - expect(element.textContent).toEqual(`Hello, World! I'm James`); - - component.setProperty('last', 'Quincy'); - await page.waitForChanges(); - expect(element.textContent).toEqual(`Hello, World! I'm James Quincy`); - - component.setProperty('middle', 'Earl'); - await page.waitForChanges(); - expect(element.textContent).toEqual(`Hello, World! I'm James Earl Quincy`); - }); -}); diff --git a/packages/stencil/src/generators/component/files/component/__componentFileName__.spec.tsx.template b/packages/stencil/src/generators/component/files/component/__componentFileName__.spec.tsx.template deleted file mode 100644 index 8e4895d8d..000000000 --- a/packages/stencil/src/generators/component/files/component/__componentFileName__.spec.tsx.template +++ /dev/null @@ -1,36 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { <%= className %> } from './<%= componentFileName %>'; - -describe('<%= componentFileName %>', () => { - it('renders', async () => { - const {root} = await newSpecPage({ - components: [<%= className %>], - html: '<<%= componentFileName %>>>' - }); - expect(root).toEqualHtml(` - <<%= componentFileName %>> - -
- Hello, World! I'm -
-
- > - `); - }); - - it('renders with values', async () => { - const {root} = await newSpecPage({ - components: [<%= className %>], - html: `<<%= componentFileName %> first="Stencil" last="'Don't call me a framework' JS">>` - }); - expect(root).toEqualHtml(` - <<%= componentFileName %> first="Stencil" last="'Don't call me a framework' JS"> - -
- Hello, World! I'm Stencil 'Don't call me a framework' JS -
-
- > - `); - }); -}); diff --git a/packages/stencil/src/generators/component/files/component/__componentFileName__.stories.tsx.template b/packages/stencil/src/generators/component/files/component/__componentFileName__.stories.tsx.template deleted file mode 100644 index c7049be93..000000000 --- a/packages/stencil/src/generators/component/files/component/__componentFileName__.stories.tsx.template +++ /dev/null @@ -1,19 +0,0 @@ -import { html } from 'lit-html'; - -export default { - title: '<%= className %>', - component: '<%= className %>', - args: { - first: 'first', - middle: 'first', - last: 'first', - }, -}; - -const Template = (args) => { - return html` - <<%= componentFileName %> first=${args.first} middle=${args.middle} last=${args.last}>> - `; -}; - -export const Default = (args) => Template(args); diff --git a/packages/stencil/src/generators/component/files/component/__componentFileName__.tsx.template b/packages/stencil/src/generators/component/files/component/__componentFileName__.tsx.template deleted file mode 100644 index b4f3eb879..000000000 --- a/packages/stencil/src/generators/component/files/component/__componentFileName__.tsx.template +++ /dev/null @@ -1,31 +0,0 @@ -import { Component, h, Prop } from '@stencil/core'; - -@Component({ - tag: '<%= componentFileName %>', - styleUrl: '<%= componentFileName %>.<%= style %>', - shadow: true, -}) -export class <%= className %> { - /** - * The first name - */ - @Prop() first: string; - - /** - * The middle name - */ - @Prop() middle: string; - - /** - * The last name - */ - @Prop() last: string; - - private getText(): string { - return (this.first || '') + (this.middle ? ` ${this.middle}` : '') + (this.last ? ` ${this.last}` : ''); - } - - render() { - return
Hello, World! I'm {this.getText()}
; - } -} diff --git a/packages/stencil/src/generators/component/schema.json b/packages/stencil/src/generators/component/schema.json deleted file mode 100644 index c6903477f..000000000 --- a/packages/stencil/src/generators/component/schema.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Component", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use for the component?" - }, - "project": { - "type": "string", - "description": "Project where the component is generated", - "x-prompt": "What project would you like to use?", - "alias": "p" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed", - "alias": "d" - }, - "skipFormat": { - "type": "boolean", - "default": false - } - }, - "required": ["name", "project"] -} diff --git a/packages/stencil/src/generators/init/init.spec.ts b/packages/stencil/src/generators/init/init.spec.ts deleted file mode 100644 index dae96f0eb..000000000 --- a/packages/stencil/src/generators/init/init.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { AppType } from '../../utils/typings'; -import { - readJson, - readWorkspaceConfiguration, - Tree, - updateJson, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { initGenerator } from './init'; - -describe('init', () => { - let host: Tree; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(host, '/package.json', (json) => { - json.devDependencies = { - '@nx/workspace': '15.7.0', - }; - return json; - }); - }); - - it('should add stencil dependencies', async () => { - await initGenerator(host, { name: 'test', appType: AppType.library }); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - }); - - it('should add stencil app dependencies', async () => { - await initGenerator(host, { name: 'test', appType: AppType.application }); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - expect(packageJson.devDependencies['@stencil/router']).toBeDefined(); - expect(packageJson.devDependencies['@ionic/core']).toBeUndefined(); - }); - - it('should add stencil pwa dependencies', async () => { - await initGenerator(host, { name: 'test', appType: AppType.pwa }); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - expect(packageJson.devDependencies['@ionic/core']).toBeDefined(); - }); -}); diff --git a/packages/stencil/src/generators/init/init.ts b/packages/stencil/src/generators/init/init.ts deleted file mode 100644 index 9eac48427..000000000 --- a/packages/stencil/src/generators/init/init.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { InitSchema } from './schema'; -import { addStyledDependencies } from './lib/add-style-module-dependencies'; -import { addPuppeteer } from './lib/add-e2e-dependencies'; -import { addDependenciesByApptype } from './lib/add-dependencies-for-apptype'; -import { convertNxGenerator, formatFiles, Tree } from '@nx/devkit'; -import { runTasksInSerial } from '@nx/devkit'; -import { addCypress } from './lib/add-cypress'; -import { addJest } from './lib/add-jest'; - -export async function initGenerator( - host: Tree, - options: T -) { - const dependenciesTask = addDependenciesByApptype(host, options.appType); - const styleDependenciesTask = addStyledDependencies(host, options); - const addPuppeteerTask = await addPuppeteer(host, options); - const addCypressTask = await addCypress(host, options); - const jestInitTask = await addJest(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial( - dependenciesTask, - styleDependenciesTask, - addPuppeteerTask, - addCypressTask, - jestInitTask - ); -} - -export const initSchematic = convertNxGenerator(initGenerator); diff --git a/packages/stencil/src/generators/init/lib/add-cypress.ts b/packages/stencil/src/generators/init/lib/add-cypress.ts deleted file mode 100644 index 6fd0418e6..000000000 --- a/packages/stencil/src/generators/init/lib/add-cypress.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { InitSchema } from '../schema'; - -export async function addCypress(host: Tree, options: InitSchema) { - if (options.e2eTestRunner !== 'cypress') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/cypress', NX_VERSION); - const generators = await import('@nx/cypress'); - return generators.cypressInitGenerator(host, {}); -} diff --git a/packages/stencil/src/generators/init/lib/add-dependencies-for-apptype.ts b/packages/stencil/src/generators/init/lib/add-dependencies-for-apptype.ts deleted file mode 100644 index 5322e896c..000000000 --- a/packages/stencil/src/generators/init/lib/add-dependencies-for-apptype.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { AppType, PROJECT_TYPE_DEPENDENCIES } from '../../../utils/typings'; -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; - -export function addDependenciesByApptype(tree: Tree, appType: AppType) { - const projectDependency = PROJECT_TYPE_DEPENDENCIES[appType]; - - if (!projectDependency) { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - return addDependenciesToPackageJson( - tree, - projectDependency.dependencies, - projectDependency.devDependencies - ); -} diff --git a/packages/stencil/src/generators/init/lib/add-e2e-dependencies.ts b/packages/stencil/src/generators/init/lib/add-e2e-dependencies.ts deleted file mode 100644 index a4055c54c..000000000 --- a/packages/stencil/src/generators/init/lib/add-e2e-dependencies.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PROJECT_TYPE_DEPENDENCIES } from '../../../utils/typings'; -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; -import { InitSchema } from '../schema'; - -export async function addPuppeteer(tree: Tree, options: InitSchema) { - if (options.e2eTestRunner !== 'puppeteer') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - const testDependencies = PROJECT_TYPE_DEPENDENCIES['puppeteer']; - - return addDependenciesToPackageJson( - tree, - testDependencies.dependencies, - testDependencies.devDependencies - ); -} diff --git a/packages/stencil/src/generators/init/lib/add-jest.ts b/packages/stencil/src/generators/init/lib/add-jest.ts deleted file mode 100644 index 05652bdea..000000000 --- a/packages/stencil/src/generators/init/lib/add-jest.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { InitSchema } from '../schema'; - -export async function addJest(host: Tree, options: InitSchema) { - if (options.unitTestRunner !== 'jest') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/jest', NX_VERSION); - const { jestInitGenerator } = await import('@nx/jest'); - - return jestInitGenerator(host, {}); -} diff --git a/packages/stencil/src/generators/init/lib/add-style-module-dependencies.ts b/packages/stencil/src/generators/init/lib/add-style-module-dependencies.ts deleted file mode 100644 index f51215a23..000000000 --- a/packages/stencil/src/generators/init/lib/add-style-module-dependencies.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { InitSchema } from '../schema'; -import { STYLE_PLUGIN_DEPENDENCIES } from '../../../utils/typings'; -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; - -export function addStyledDependencies( - tree: Tree, - options: T -) { - const styleDependencies = STYLE_PLUGIN_DEPENDENCIES[options.style]; - - if (!styleDependencies) { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - return addDependenciesToPackageJson( - tree, - styleDependencies.dependencies, - styleDependencies.devDependencies - ); -} diff --git a/packages/stencil/src/generators/init/schema.d.ts b/packages/stencil/src/generators/init/schema.d.ts deleted file mode 100644 index b3408dcbf..000000000 --- a/packages/stencil/src/generators/init/schema.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { AppType } from '../../utils/typings'; -import { SupportedStyles } from '../../stencil-core-utils'; - -export interface InitSchema { - name: string; - tags?: string; - directory?: string; - style?: SupportedStyles; - skipFormat?: boolean; - appType?: AppType; - e2eTestRunner?: string; - unitTestRunner?: string; - projectRoot?: string; -} diff --git a/packages/stencil/src/generators/init/schema.json b/packages/stencil/src/generators/init/schema.json deleted file mode 100644 index bed8124be..000000000 --- a/packages/stencil/src/generators/init/schema.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Nxext-Init", - "title": "Add Nxext Stencil Schematics", - "type": "object", - "properties": { - "skipFormat": { - "description": "Skip formatting files", - "type": "boolean", - "default": false - } - }, - "required": [] -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/LICENSE.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/LICENSE.template deleted file mode 100644 index 81f990d60..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/LICENSE.template +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 - -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/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/apple-touch-icon.png b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/apple-touch-icon.png deleted file mode 100644 index ab51b0be9486fc931069aa4cd93575b7da2dedd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5426 zcmZWtX;YNh6-IUt+35vrb{mjYXm%QD_I+s(Y!Hya9-5^=q*)tW60?liDw(7*lhF?* zsbngdWRgmxoFtZ2YHDOO7>!PxNokc+`I4$s&0om#aPGWqoT}%n_rCX@d(OGH(a&$* z=SK8Y-&;&Khlv9U%?Us_sqI%if_y_%=ExYBIS$5%;7=_x5@&95m| zYlG;YTo-A#4{3vWdBvJ8%EL<{o0>Xa8M$@k703Mi(%9H!M@O&t@BQwT@h_V*GxH9| znC7pjsMU0@_nbeB&PkN3#$)g9_wx@5h{z2I&q;|3P0|ILW1@_ih1zsc(nTDH`1F0o z`(PWaOuWlB$i8CdcyqNld`W}7;F=R}Gx}wyt`;0QU@zYMh4^M-xOlf1 zc9j^0E3lm!5A5sRSFSl?MO%b8KDYY=3l$(-gz&-xkV~N5E7h+-MD^1E+C_{jF%M}0 zsnO}!ruLeV@%*C&2^JN|{4^t5T$c~Pb2FjAY}o53}hH%}G7h*$Z9%6M5gW;Bptsg__$k+PJgp#BC3+ti)0#G&%JgMU{Bt`x3`#$Uc^9a7 z*iFE4s)<>jSmm85ie(*-ws+os*WzhxYv8`aAPr1teX=uv=?Dbb%hTKt>h^KEiw&E` zGHECchH3;cI~$I7Alcdwu1 zH+-`LO9iOQhr)eRrc{m2D;KO$y8Eqx=o&xF!w=q!w`_sSX?)M;qK>2rm z2<`$gG!rPLI=cLeaxIwyAO09VKy?;d0caZmrD_m-%tDXe0FJ6ICHu=4?U)l3sOqZROUz$PDz zAm2U=QiU!Pz^k8~2j?Myj;ShkHsFhPT^x}jguD3Ig!&e4fyp!gI`s}fZ8Wk!HLU9+ zpoa}HsHg%}F_srlIcm!ivrfc*h@G2Y44fD7b&z0lITH%6GoYG!l8=&$^;U1hLi`*I zmbRIjGM{I?g*vs#&Ns8}{1h$?CTRSi)2q3PRN{jS!|xtj)6GR@W$Hc_Ek=%cG= zRpZF;syePO2X`(^d)N?xG9hV8BoFKD0~>4281k(04H7*2PCAr`fADYse<(C`F6fSn z@ySKVtpH!QI({SjKM6J2pWJ`I}KI~ii+X|ZU;?)9{n23p`vVq4)800 zm9jT-62PPaykB*->}Q^zNlwV?$Y^0#9tHs`B6u1W^vUJ3;t*Z|!J!7V$0qB?%vORl z@K?53EUV^(QWCkS4kq3s5UCG-rcFtPW?`G0u~!|Vt_N!c&AAIyyTWMr_>GU>V{N!E zFe+jn#8jE+jUvE(_Z>_`$ z3PC_fdhFi9P;Y;w$f3)Ha-uf)Fsm`HE+$kBkABiT*Cdvghb`I9^JL|^v&Cu4FLg(& z!*W{cMojH)z8nL#N|-y^`j^ ztQ}yl%UI8g^Y23Ah2z8Xns}dIU?m=Kq?6sK+|YPfAlmB~X@#s{j)B`>6H*gm}BiIK_CJT42)=!Tf1fKC2c#QFXp0aMSU9|RSE7KZnZZ!KXb z1#%D7iV)sVP>fiwMe$dX_ ze0O4oI5zOv)$f-tMXJ6wR}D{c-;fv<&jkW>jZ+gV9V23Z&$?c0UmAtND0z&@hSP&{ zEo==dD1mFm&&K6Jw7G2H+=o?IDX&f8H3-fvVP5PpYFFqR31w{UWcJ4Wi>_97F)QOz zKZ8k(dy3}*9O;Ro7$F!ax7`ByovoRjg=85+7jnRXZpR5x`VaGWg$pi$az}FNA)Z_U zGlungEeCsYQ@hry*rC0ZV5dOEAofjY$*pS;z`FHtdjf|AERE{(jJ@Tq^{>n)$GRWC zg@L|xutdIgyw5K~h4!+G^<(ptXioLR-3>>QIGru^j{M9>F+6>~k}%7Ty+;wsNI@xU zC}^03EIqp#zS!~4X~gd^{dA_-Uec%>>NPF1dYAUMhA{|ZHBGw{Ug?f Q|3UL>YwBjq^}HGX15-*v8vp%_F8-GedgTO%-o!wq|Jox^1Bp8(T#WU4D!wC ziExW58I8RW$o_OHH=Wo`p>B#}sT;{2Y_9DATl{BYWpFKk4fSfq%qjUn|Ryzo>m5ggDvJS+g#ZnU)mUR9TIWp0lZy)rh{ zxh_K3+2 zP#3TUr0%9bJmT%`@QCWR8wIExyXp-=w&ta_f(5N1(O7D;pAtd8XyaS87)1I4uvOxI zyRmC6-7tJUpB0~{B!K(S?U1K^#b65X8?qMo^uggizaMFrmDd{ z>8; FK(}?RR2u*Q diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/icon192.png b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/assets/icon/icon192.png deleted file mode 100644 index 3deea65c9f86db2dcc16c6e3bb6f9ce4fa4ff401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5842 zcmZWti%*-^6}Pc54i7^hegHPcyfJSufslZ0-h@X?cs9YjVh9N#4#WXM0xYens#~S5 zk4c@TE$gJMnbu|Nq*Ythhty=N)FxHZ_o^zV}PM6Zt-F_VUn|Iz4HXESl;xMk)>GV~hzTplyEEcQHp5w4* zJ2Kr4TUKVK(_znYI9&9=An(AIsd;QR&VunEkSVr}w!`kS6K=c1?Qpnd0aoq|vA}KL zc|;gPS-{y$PQehsFE7~{<_hEG^y9TQ7rsJ}k&)HiJ)jLWBR}68jmETLPEKJ~mPZ>F z7guVw7{`Z?rsu>M&SUs#}?$nm-EY^_^M2Z1>)p0IlVTp zuBHqOBrz(Ch#B(t*Ixu{h%~ynsRq8fiQCwj<_}&6WsKB=KYuhiC zVA2*(Q`4HtcvthCp={=e))*l1F*B;!>&5X=va~d!k#w(O5jsd6?Na`gS zgFDke`m6J-LEwO)TOWlsRTUmxT;S`0+&sIUw+#qi2AyV6X<(QHSx{HRjGV50c+C&n zuM$xMJHY*0%8J5Jvml}YZ9I5h5p z#q0{0Hz3Sz1MtlP+nrZ(xwOGLDGug|jtb@&U|p)Pi(`9*g!Y9&V+b z39RGC0%hveFbk4Zgj5l*BYe)<0#;p}t72u%mKsW7`nk$4zP|Y$G0y7yV8jiA4srwD zq*XUB8IKMGVuy`GVva(Ms*h#YQuo=&CIWbhLAn-JOB$~$T@|4HV%MqI zlFw-7AzuIg#|lfOuo=V~4qWhYq0wK?k_#-bOe>j;a!3mVV8~ha0v_zxL2YPM7fKxY zybSz7V)D6_!BGeX9Md)XRCmH?LtR`RJ$2eT4fWt{Zs%g$xi>J&02(u70N#X*KwOYV zJuHFM{n6`;@G%IVm_IkIbNLq8dzcd-8cy%*<;~fEB;I)yT(_}qrKe(Xu?`B*K`yO} z{lQNs(-@CiPZ+pJ!$y~8&Q&zqozCfc1G@~+lctU|H@dVoT^i5R0Oe-y6x4D4CaBNX zvz48LT!qY4)U$+A(m)9@5PyfOrat=xlwsTxH9!L?gRE1)21$Jkq$ajU*cJMZ8iI~W z7&~D7K1esB{MhA=)kj3MwC%U!T7svTI2O{v}in`35CLlrk;5iKP+SdU>}z{f=Z>n^Nk z5M1Km#a!jxU?q(vFX(l>Dl#TBJe;u_5^p^Yt*W^VCNRUZuuAvh0wZt)(rt)Y7BA%5 zKKkw6X@4(9-#RMBvmTfJ)2Frv)epuhTvydr^6a}$LhHo_7kqdf{Ql2Cyc%sw=fNpF zK1+sm0Q8F*Vv5Sjc6;$bm52AgkBJClr24{QsyuPjcyuLi{ zQQYSUP7U=i2f!di-Lp;c2xr`X8wRgS!JX$i0!+Iqz@5w1T5Dzm88YU27IG?qANKLn zj11sqHUJe5*4%zI)yvniAE?`4jKBt#MS(-ZJ*L49mF_Qp2oE0t=671dpLpUt@qmlO zYKGdZD**3@=)zn?tCh)J`{G%?&RI6hto8D!jJo=!O_)H4536$Vh-;=obQKh{GH)((jZ0qbW2dY-kpbeY+!97yO0N)f&>_t9)8z4A1OUMp@-rJX*hIs@?USf zieZOW^Dzj3Dk$5jI;ZNTH18cVJdoMsQs6yf-Ft0n5 z$5z45O0F&jmvh09L;N7)QP3#}(4Ps~WW51@d!d`1Cs-*%FzZ^?%BFht-4_EfwV5nq zb>~A)?0Oe1D#HKxIj)4;+eRI`k-n%YyT$apNe)5Mi%;l}0fchZ7k#pRqM+O?#z?w*J z4{MH~N+w^yBQVoTRq_hBw(atTT5ikOvtOTJ zFo5w~P{G=~j0Qw8+k(+93-idX0k8!CrEfn9n$wzp{O5*ZZ__j(b zzvi@qH=!AlGv!ua<1WJx;OX29<`PK|54FC}<6iQ>VA~M%J48RGc^I~BZ3N@tuNfr) zqX|SSn!xH?!Z2GPF342~P|Xu0K-P1M%;H*N(`tY)Uw}#(1MQsYW)yfSQvEHhT#$31 z7woG83A!8V*?)kqZirUx1cNYy9V*{5`t=*Ht>(#mHdKvWw5k?GPev`yxJ*aMKs!>~TZTosjGt`uNeBe@G&!BrCBi^bbl!DOKb+hr=q-vgER4Qi>f*krGuZRd%J4D*p@lzSo1dl%o2& zr>AG$Om|QBytkl!|L`Zl!E1?e*>Os##NM9H5v6PpZ7Rl&=Fx-V-#`2bgsouzSQpyd z++w#Y%axIp<;r$vWV_A(va@qsnfdPQ!koNfcXknkY)?s6?)hAAd2YThE2k*0uo7}s zPI0=+lapWSa(S?-V10edlI!XkME--ApvF(7iJ< zII5ggiN#rY8EG=)NAuf%_#yc9t;er${!LKU6qr)3sou`Eu>;70SZTcJXy-x2o*3{l z(SF^c+FqXwC~3g8)ENb1p8k)KEC-z~TT|=1A#Qf8F08CVAe~lLfUkkr*_3wPH8XWZ z#EF858;}}TccfqcukUz#?UT~kMUxc&$va%Az2FG^>Vb~H{4jdSMPT09+u#G^V8A*k z1@tVaagF9^1y5x@nufS@87F{qHb8OGy~OQiK$|K5`xiex@)U|%cxbc>LdPPHDi72n z>Xh@kkH#&k@DSSJc}@p-4B_Q#;LGQ4yhTk*-Y+cA>B0wxrAZeOsE9kDd_FA zqjeVzfD4|HhG!}0@1x5nH_}cl)w3~9$lKRN5q|tSXE!cd;}F_t2@nS9!%6DR;1ag@ zraLkw+?~(3ue3`qX0{YULMqr2C@>@HR%y7;GxS(TXY{h@uMJL!0Df5Bv5&^9gAS1= zX<_~-Xvy~>&E|luWLP>8j&Iytn$it#CdL z41GoEfaXSFA0IztlnOmyfPJ#Roz4SS{{7E+N_x$Wbrzq1YM{?{B7%7v(kN&FW*ee6zJj#n!Z=)XKFjFL3bljAcAxNmP z#O~W74(&9KYwbB`4tSK2)d!BE$9BT4H+|EojWR!8nlWiuY0TkHo}-2Keu$Z59Dna+ z$5JOVfjd@%=5}%eXngmh!7WTCmvVOGco}>F9Vq8=OXp|LTUrm3g_oG0MOas04R8<6 z)?vxXvPMMcYPoP4f*9VVPfV)vY?V{<@t-=%R15VyYUa)8XMbkzQ4oNZtXz9NFPwbP znNo)6TM|egxG2>i+6_iiZGs)Mc&kF&=VnSEFv;?EnitTFsr~sIxseLs6$!+rs1IM7 zcW;)cPhS*GG&eUuys8BM@ru`%WM>$dDEe+^Xk95XK{)RToerJMq{TH|g50b60@&wo zGe%>JpFLMm%Nc-v4=KmTZ&**C|r)E6%er(ZcokGL-PXJXHP`8?C3aKRR0 zz?w_0f~y?6&Y5lWsK{WzbC-Pq8rB&7?yIx}IB(QMkC!KZ@Lk31VEx|hP~ef^KhuUT zEf#pY(Yk`txz^%S_0AF60n{7YdR26shHaMTD>xpx31Qae1s}DvAN(OiTDYLR0UM7b zOCMO)X=;d7W&HXd!QcNQu(V2sg|_LFGCvF02OMmF`kHijH32o#V0_uk813K_|MTzx zU74`0MdFJ-z|`X{0#rS{3C}y3W&zWxrV!0yMj(SBTn2H^NMO+EV@CNvf+jTUAbPmO z0z9qT1NZSczY`4j=$q_({7>N874MV3+vpCVe^;-q^-N5gL7yVm0XjUWHuakyM~AqT zXVSrg2ADYdwwQ#dSd3KbGjUzktMjQ?Zo#NlhqEtgeJ;99UNGL`#tfKVZ96!?DL?x@ zm^O_?UT#b;I0N_dnHlD0K1Ow2t(%kS-+8r`&ovmJj=aV=KFr`|(1q;%8Hbv_0O`8H zt@$vZH{fGspbn77q5640O-9kv3eHFkfSH@_o>SKnh8e0=)`5lNbf&jC#TLBE4JTCe zbhDca^O&ABH&r}UCIC|pC{wrhxxS5S@j?YWAT!1c7;M2&+9?tG22R--sabKaz-k*XC#W+oZwZ4K6%JS#IjCw1q+kZCV=!?4U&E&EqLMf z=xbNr_6BmKoo4CVE{+X zJ(?|jJET1`cs#iL*?LwkP^H!`iv<1=ulGCEG%v3<<9(m>ILbq%e=^H z_n}Q6Pz5LVa|^(>nY_2cs^YaM zDCCZ+s;z~m>pUo6Pe#BQRh>*M;2IjjQJSB&=+5vK=Kn za%X3FuR{X_Kzd_H35;P22q=jGGm?2H^7W-aKmoN;XQ}k_ABmPPOcKXxe3S-3b$o-( zDcS=pfz*&VwF8++8e`K5%*@J@)&wElaB^I69N5<=yuNH&5sA&TM^tuA%Fm4@mG&G0LL2fUm zr-6&dcHVVSIwx;I&hXZ9bF(yPV@`DTT{PMgM-*e-#Tb120)2G!bb&8`fL3lb>|kJ6 zueRnzDg=Qg8$SkVv@68JOJ|r>A6WdO*Lx?>a*ufsM}Y#6-d0UPmY1~o^ELmzOu3q1 zANJBWpoO6*758c_Vamfbqr-*y?x?K)9e1+@lkSmxYl6#&9lQ0s|&h z%lprX7(IVzm_Ly{oWMg8Ecnp&MXz5`(W0P(fEN@=LUa_1Ef!RyOO|E<`udgUTXuCA z0>MTW33Frgqwla1n05etG=Df~<3!7s#}r-V;w6E}R5Ro3 zTk(NynE=iV1(@Ud4B!20yH-vtX_bO*lM4a#3TTiqTcBbQ=WF7eFzOc17m$wMpYDWb4dz+|z~_t)Zw&^~rNH zGUq%)&NOA()y4;=RTec-0ahjYld2#)1TlXhu~J=P>{%oiKo&Zbi))kSMA?%v!wfO% z7WqIdpJy#62G^;!yVSldcgdU)MBmRz7ET~JxrZ&FM$Xnn*I<_TLs85~z$;CMQKQBn za-!CFTX{PH$pO7EODQip34E8gj^Iu)73sR#AhNEwj4tckgx|gOHW%1-#?eZn@_w63 zEx61@X&=CcXU)5TDd#E;fb)(582hK;uS4%_`6`J9GzU+S^pf*n}#s)YR2pw^#i3tsill zdrqCXMn8IOdj=f`j3}=N;Ad7%iiTE^R=8H*e7ssk%Nt(p@Ja=WubSxri6H=VXjGD~ zEtgL{D{Am&UZN>f*&}xXyP)ury%NnOy(&cD4&!$uGM8l-1YUiAHW=|&p_Yr0@xP0Hf6hswkJfuJ>c<-M+J@O=YS8iNO}|RcEF#*KTv^wKkw)8Q5&} z4YkY0xK9kfJsF6V?ec*|5Z zS3$Ip5O8!R1vm@TtP4R#Z#vXfY8}ne7oKPSc1l2J3B*udZ^#;BEK^g$Wu?jp^>Dda z5YU%=_VZ%I#?Mch0j#aFv!zPe+-lNU136yx+4z$2m1rv&{5~%DOc$7d>EolvfGbnl zQZ=j7q(>B-RBWtBN4U8b#BS;8Q!>9hX~)wjljZDbP+sIxJmsxWH|N^c)w4(8W*aTL=bzX_8k{MG0T9ZEgIm~&&8y1)df!RaH_D!^oY_KC;f*-!x>8wGY z+iS1%Awi)fFGOIA`3bb?py-N#raZwu&o@sLJ?{VkgP_jSMea4lr2h1KV1Tx|9^!S; zTwr*(6)#DKSKwDEOws@-S_cQ>CAA37C)~=$Um(CzmbyZBnB>obPC$TQ^u)2DH;@rVm|BqfV z=Mp#Y_ew{2mo(g^Q$)u>rGwV|e=tb3iMMjCku-e-ysG9c?VPy_y7At)Su|nZp5bSB zY@0c(+La@)Iqift&~YzvAF<{HC(=tgn-Ej#Kx?vKAvjC#BjE=H0JCT z&H@O_)NoxK1g4gGY5Dnterh&nGs$<0*|l2^#s^fowj44*BaG##WEZU^J$~cg9-r>!jv~1C1~tzR9LuRNri#=p!rWA^b4TR(dp)2sP(O-O_X89L$0Ac zNAJHWD)7hOR@bEC=HUXLeFtpF(Rt$SG)5|pFY^QcYv^JQ1b9!+z59TlX@?-aj6M`~ zmsuDM;+tFhno0L=e)0M;8bCL+%Q?&wjueti7&iX}5Ary38Tj&V^F=W4l0E%3S~@v( zvz+()+507Y_k8!S{+_G7_X9?|1;q6mmcRyC`ZO*rxN82ZM>w&cr^YCL`4Skw%&h>G zE;mLFFucwCl66S8Y7W4LKutU({npFoRmNZl>Pi8-@%ay}IS{r|L-xC(DAPBa2iu8*a-{6`hghE^25f&_XEtvD!Ove{cFag;6ivZufbUR2 zI}ekqF+zfmet?$G8uFjYH-vi*AP8Mq{CWU0|_#y&ym~XR)1*e94+`$+x z@)7{1K}Va_e9)gGst}q0-seaRiYlfGgp~v+<~&7Cyw@Bs08b31`{NAqGcN8rCbsXmlc?Qi{vd$4|hO4 yAO5q9fa^@?g_s~peX!_UU-6BgIc307+G7f2e4nW-V1xzyKkRzD25Ch*L-K!2aK;1x diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components.d.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components.d.ts.template deleted file mode 100644 index c3c26bcdc..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components.d.ts.template +++ /dev/null @@ -1,64 +0,0 @@ -/* eslint-disable */ -/** - * This is an autogenerated file created by the Stencil compiler. - * It contains typing information for all components that exist in this project. - */ -import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; -export namespace Components { - interface AppHome { - } - interface AppProfile { - "name": string; - } - interface AppRoot { - } -} -declare global { - interface HTMLAppHomeElement extends Components.AppHome, HTMLStencilElement { - } - var HTMLAppHomeElement: { - prototype: HTMLAppHomeElement; - new (): HTMLAppHomeElement; - }; - interface HTMLAppProfileElement extends Components.AppProfile, HTMLStencilElement { - } - var HTMLAppProfileElement: { - prototype: HTMLAppProfileElement; - new (): HTMLAppProfileElement; - }; - interface HTMLAppRootElement extends Components.AppRoot, HTMLStencilElement { - } - var HTMLAppRootElement: { - prototype: HTMLAppRootElement; - new (): HTMLAppRootElement; - }; - interface HTMLElementTagNameMap { - "app-home": HTMLAppHomeElement; - "app-profile": HTMLAppProfileElement; - "app-root": HTMLAppRootElement; - } -} -declare namespace LocalJSX { - interface AppHome { - } - interface AppProfile { - "name"?: string; - } - interface AppRoot { - } - interface IntrinsicElements { - "app-home": AppHome; - "app-profile": AppProfile; - "app-root": AppRoot; - } -} -export { LocalJSX as JSX }; -declare module "@stencil/core" { - export namespace JSX { - interface IntrinsicElements { - "app-home": LocalJSX.AppHome & JSXBase.HTMLAttributes; - "app-profile": LocalJSX.AppProfile & JSXBase.HTMLAttributes; - "app-root": LocalJSX.AppRoot & JSXBase.HTMLAttributes; - } - } -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.__style__.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.__style__.template deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.e2e.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.e2e.ts.template deleted file mode 100644 index d4ed513a9..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.e2e.ts.template +++ /dev/null @@ -1,19 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('app-home', () => { - it('renders', async () => { - const page = await newE2EPage(); - await page.setContent(''); - - const element = await page.find('app-home'); - expect(element).toHaveClass('hydrated'); - }); - - it('contains a "Profile Page" button', async () => { - const page = await newE2EPage(); - await page.setContent(''); - - const element = await page.find('app-home ion-content ion-button'); - expect(element.textContent).toEqual('Profile page'); - }); -}); diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.spec.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.spec.ts.template deleted file mode 100644 index ba5077304..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.spec.ts.template +++ /dev/null @@ -1,12 +0,0 @@ -import { AppHome } from './app-home'; -import { newSpecPage } from '@stencil/core/testing'; - -describe('app-home', () => { - it('renders', async () => { - const { root } = await newSpecPage({ - components: [AppHome], - html: '' - }); - expect(root.querySelector('ion-title').textContent).toEqual('Home'); - }); -}); diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.tsx.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.tsx.template deleted file mode 100644 index 01330c13a..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-home/app-home.tsx.template +++ /dev/null @@ -1,31 +0,0 @@ -import { Component, h } from '@stencil/core'; - -@Component({ - tag: 'app-home', - styleUrl: 'app-home.<%= style %>', -}) -export class AppHome { - render() { - return [ - - - Home - - , - - -

- Welcome to the PWA Toolkit. You can use this starter to build entire - apps with web components using Stencil and ionic/core! Check out the - README for everything that comes in this starter out of the box and - check out our docs on{' '} - stenciljs.com to get started. -

- - - Profile page - -
, - ]; - } -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.__style__.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.__style__.template deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.e2e.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.e2e.ts.template deleted file mode 100644 index d7236bf16..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.e2e.ts.template +++ /dev/null @@ -1,18 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('app-profile', () => { - it('renders', async () => { - const page = await newE2EPage(); - await page.setContent(''); - - const element = await page.find('app-profile'); - expect(element).toHaveClass('hydrated'); - }); - - it('displays the specified name', async () => { - const page = await newE2EPage({ url: '/profile/joseph' }); - - const element = await page.find('app-profile ion-content p'); - expect(element.textContent).toContain('My name is Joseph.'); - }); -}); diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.spec.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.spec.ts.template deleted file mode 100644 index 0897b31a5..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.spec.ts.template +++ /dev/null @@ -1,38 +0,0 @@ -import { AppProfile } from './app-profile'; -import { newSpecPage } from '@stencil/core/testing'; - -describe('app-profile', () => { - describe('normalization', () => { - it('returns a blank string if the name is undefined', async () => { - const { rootInstance } = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.formattedName()).toEqual(''); - }); - - it('capitalizes the first letter', async () => { - const { rootInstance } = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.formattedName()).toEqual('Quincy'); - }); - - it('lower-cases the following letters', async () => { - const { rootInstance } = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.formattedName()).toEqual('Joseph'); - }); - - it('handles single letter names', async () => { - const { rootInstance } = await newSpecPage({ - components: [AppProfile], - html: '' - }); - expect(rootInstance.formattedName()).toEqual('Q'); - }); - }); -}); diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.tsx.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.tsx.template deleted file mode 100644 index 93f74a927..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-profile/app-profile.tsx.template +++ /dev/null @@ -1,46 +0,0 @@ -import { Component, Prop, State, h } from '@stencil/core'; - -@Component({ - tag: 'app-profile', - styleUrl: 'app-profile.<%= style %>' -}) -export class AppProfile { - - @State() state = false; - @Prop() name: string; - - formattedName(): string { - if (this.name) { - return this.name.substr(0, 1).toUpperCase() + this.name.substr(1).toLowerCase(); - } - return ''; - } - - render() { - return [ - - - - - - Profile: {this.name} - - , - - -

- Hi! My name is {this.formattedName()}. My name was passed in through a - route param! -

- - - Setting ({this.state.toString()}) - (this.state = ev.detail.checked)} - /> - -
- ]; - } -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.__style__.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.__style__.template deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.e2e.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.e2e.ts.template deleted file mode 100644 index f161fd791..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.e2e.ts.template +++ /dev/null @@ -1,17 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('app-root', () => { - it('renders', async () => { - const page = await newE2EPage({ url: '/'}); - - const element = await page.find('app-root'); - expect(element).toHaveClass('hydrated'); - }); - - it('renders an ion-app', async () => { - const page = await newE2EPage({ url: '/'}); - - const element = await page.find('app-root > ion-app'); - expect(element).toHaveClass('hydrated'); - }); -}); diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.tsx.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.tsx.template deleted file mode 100644 index 943576b36..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/components/app-root/app-root.tsx.template +++ /dev/null @@ -1,20 +0,0 @@ -import { Component, h } from '@stencil/core'; - -@Component({ - tag: 'app-root', - styleUrl: 'app-root.<%= style %>' -}) -export class AppRoot { - - render() { - return ( - - - - - - - - ); - } -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.__style__.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.__style__.template deleted file mode 100644 index 0b631dcd3..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.__style__.template +++ /dev/null @@ -1,31 +0,0 @@ -/* Document Level Styles */ - -/* - The imports below are needed to include our light dom css for global styles such as fonts and colors. - You can comment out any of these imports if you do not need that css. For example, if you have your own - global font family css then you can comment out the typography.css import. -*/ - -/** Core CSS required for ionic components to work property */ -@import "~@ionic/core/css/core.css"; - -/** Basic CSS for apps built with Ionic */ -@import "~@ionic/core/css/normalize.css"; -@import "~@ionic/core/css/structure.css"; -@import "~@ionic/core/css/typography.css"; - -/** Optional CSS utils that can be commented out */ -@import "~@ionic/core/css/padding.css"; -@import "~@ionic/core/css/float-elements.css"; -@import "~@ionic/core/css/text-alignment.css"; -@import "~@ionic/core/css/text-transformation.css"; -@import "~@ionic/core/css/flex-utils.css"; - -/* - The CSS Variables below can be used to theme your app. - For more info on CSS variables check out: - https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables - - More info about color theming using Ionic: - https://ionicframework.com/docs/theming/color-generator -*/ diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.ts.template deleted file mode 100644 index 4b8af8a9d..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/global/app.ts.template +++ /dev/null @@ -1,8 +0,0 @@ -import '@ionic/core'; -// import { setupConfig } from '@ionic/core'; - -export default () => { - // setupConfig({ - // mode: 'ios' - // }); -}; diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/index.html.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/index.html.template deleted file mode 100644 index 6acca1366..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/index.html.template +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - PWA Toolkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/interfaces.d.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/interfaces.d.ts.template deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/manifest.json.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/src/manifest.json.template deleted file mode 100644 index 77b95937e..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/src/manifest.json.template +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "<%= projectName %>", - "short_name": "<%= projectName %>", - "start_url": "/", - "display": "standalone", - "icons": [ - { - "src": "assets/icon/icon192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "assets/icon/icon512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "background_color": "#488aff", - "theme_color": "#488aff" -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/stencil.config.ts.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/stencil.config.ts.template deleted file mode 100644 index 2077733eb..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/stencil.config.ts.template +++ /dev/null @@ -1,17 +0,0 @@ -import { Config } from '@stencil/core'; -// https://stenciljs.com/docs/config - -export const config: Config = { - globalScript: 'src/global/app.ts', - globalStyle: 'src/global/app.<%= style %>', - taskQueue: 'async', - sourceMap: true, - - outputTargets: [{ - type: 'www', - serviceWorker: null - }], - extras: { - experimentalImportInjection: true, - } -}; diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.app.json.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.app.json.template deleted file mode 100644 index 35b41a59d..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.app.json.template +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], -} diff --git a/packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.json.template b/packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.json.template deleted file mode 100644 index 97022b5e5..000000000 --- a/packages/stencil/src/generators/ionic-pwa/files/pwa/tsconfig.json.template +++ /dev/null @@ -1,26 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "allowUnreachableCode": false, - "declaration": false, - "experimentalDecorators": true, - "lib": [ - "dom", - "es2015" - ], - "moduleResolution": "node", - "module": "esnext", - "target": "es2017", - "noUnusedLocals": true, - "noUnusedParameters": true, - "jsx": "react", - "jsxFactory": "h" - }, - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - } - ] -} diff --git a/packages/stencil/src/generators/ionic-pwa/generator.spec.ts b/packages/stencil/src/generators/ionic-pwa/generator.spec.ts deleted file mode 100644 index 21e953028..000000000 --- a/packages/stencil/src/generators/ionic-pwa/generator.spec.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { STYLE_PLUGIN_DEPENDENCIES } from '../../utils/typings'; -import { fileListForAppType } from '../../utils/testing'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { - readJson, - readProjectConfiguration, - Tree, - updateJson, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { ionicPwaGenerator } from './generator'; -import { applicationGenerator } from '../application/generator'; -import { RawPWASchema } from './schema'; -import { Linter } from '@nx/linter'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); -// eslint-disable-next-line @typescript-eslint/no-var-requires -const readNxVersionModule = require('../../utils/utillities'); - -describe('schematic:ionic-pwa', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - jest.spyOn(readNxVersionModule, 'readNxVersion').mockReturnValue('15.7.0'); - - let host: Tree; - const options: RawPWASchema = { - name: 'test', - style: SupportedStyles.css, - linter: Linter.None, - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(host, '/package.json', (json) => { - json.devDependencies = { - '@nx/workspace': '15.7.0', - }; - return json; - }); - }); - - it('should add tags to nx.json', async () => { - await ionicPwaGenerator(host, { ...options, tags: 'e2etag,e2ePackage' }); - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.tags).toEqual(['e2etag', 'e2ePackage']); - }); - - it('should create files', async () => { - await ionicPwaGenerator(host, { ...options, linter: Linter.EsLint }); - - const fileList = fileListForAppType( - options.name, - SupportedStyles.css, - 'application' - ); - fileList.forEach((file) => expect(host.exists(file))); - - const eslintJson = readJson(host, 'apps/test/.eslintrc.json'); - expect(eslintJson.extends).toEqual([ - 'plugin:@stencil/recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - '../../.eslintrc.json', - ]); - }); - - it('should create files in specified dir', async () => { - await ionicPwaGenerator(host, { ...options, directory: 'subdir' }); - - const fileList = fileListForAppType( - options.name, - SupportedStyles.css, - 'application', - 'subdir' - ); - fileList.forEach((file) => expect(host.exists(file))); - }); - - it('should add Stencil/Ionic PWA dependencies', async () => { - await ionicPwaGenerator(host, options); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - expect(packageJson.devDependencies['@ionic/core']).toBeDefined(); - }); - - Object.keys(SupportedStyles).forEach((style) => { - it(`should add Stencil ${style} dependencies to pwa`, async () => { - await ionicPwaGenerator(host, { - ...options, - style: SupportedStyles[style], - }); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - - const styleDependencies = STYLE_PLUGIN_DEPENDENCIES[style]; - for (const devDependenciesKey in styleDependencies.devDependencies) { - expect(packageJson.devDependencies[devDependenciesKey]).toBeDefined(); - } - }); - }); - - Object.keys(SupportedStyles).forEach((style) => { - it(`should add component config for ${style} to workspace config`, async () => { - await ionicPwaGenerator(host, { - name: options.name, - style: SupportedStyles[style], - }); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.generators).toEqual({ - '@nxext/stencil:component': { - style: style, - }, - }); - }); - }); - - it(`shouldn't create spec files if unitTestrunner is 'none'`, async () => { - await applicationGenerator(host, { ...options, unitTestRunner: 'none' }); - - expect( - host.exists(`apps/test/src/components/app-home/app-home.spec.ts`) - ).toBeFalsy(); - expect( - host.exists(`apps/test/src/components/app-root/app-root.spec.ts`) - ).toBeFalsy(); - expect( - host.exists(`apps/test/src/components/app-profile/app-profile.spec.ts`) - ).toBeFalsy(); - }); -}); diff --git a/packages/stencil/src/generators/ionic-pwa/generator.ts b/packages/stencil/src/generators/ionic-pwa/generator.ts deleted file mode 100644 index c113140ae..000000000 --- a/packages/stencil/src/generators/ionic-pwa/generator.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { - convertNxGenerator, - formatFiles, - generateFiles, - getWorkspaceLayout, - names, - Tree, - runTasksInSerial, - offsetFromRoot, -} from '@nx/devkit'; -import { PWASchema, RawPWASchema } from './schema'; -import { AppType } from '../../utils/typings'; -import { calculateStyle } from '../../utils/utillities'; -import { initGenerator } from '../init/init'; -import { join } from 'path'; -import { addStylePluginToConfig } from '../../stencil-core-utils'; -import { addProject } from './lib/add-project'; -import { addLinting } from '../application/lib/add-linting'; - -function normalizeOptions(options: RawPWASchema, host: Tree): PWASchema { - const { appsDir } = getWorkspaceLayout(host); - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); - const projectRoot = `${appsDir}/${projectDirectory}`; - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - const style = calculateStyle(options.style); - const appType = AppType.pwa; - - return { - ...options, - projectName, - projectRoot, - projectDirectory, - parsedTags, - style, - appType, - } as PWASchema; -} - -function createFiles(host: Tree, options: PWASchema) { - generateFiles(host, join(__dirname, './files/pwa'), options.projectRoot, { - ...options, - ...names(options.name), - projectRoot: options.projectRoot, - offsetFromRoot: offsetFromRoot(options.projectRoot), - }); - - if (options.unitTestRunner === 'none') { - host.delete( - `${options.projectRoot}/src/components/app-home/app-home.spec.ts` - ); - host.delete( - `${options.projectRoot}/src/components/app-root/app-root.spec.ts` - ); - host.delete( - `${options.projectRoot}/src/components/app-profile/app-profile.spec.ts` - ); - } -} - -function addStylePlugin(tree: Tree, normalizedOptions: PWASchema) { - addStylePluginToConfig( - tree, - join(normalizedOptions.projectRoot, 'stencil.config.ts'), - normalizedOptions.style - ); -} - -export async function ionicPwaGenerator(host: Tree, schema: RawPWASchema) { - const options = normalizeOptions(schema, host); - const initTask = await initGenerator(host, options); - createFiles(host, options); - addStylePlugin(host, options); - addProject(host, options); - - const lintTask = await addLinting(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - return runTasksInSerial(initTask, lintTask); -} - -export default ionicPwaGenerator; -export const ionicPwaSchematic = convertNxGenerator(ionicPwaGenerator); diff --git a/packages/stencil/src/generators/ionic-pwa/lib/add-linting.ts b/packages/stencil/src/generators/ionic-pwa/lib/add-linting.ts deleted file mode 100644 index bc51ebf98..000000000 --- a/packages/stencil/src/generators/ionic-pwa/lib/add-linting.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - addDependenciesToPackageJson, - ensurePackage, - GeneratorCallback, - joinPathFragments, - NX_VERSION, - Tree, - updateJson, - runTasksInSerial, -} from '@nx/devkit'; -import { PWASchema } from '../schema'; -import { Linter } from '@nx/linter'; -import { - createStencilEslintJson, - extraEslintDependencies, -} from '../../../utils/lint'; - -export async function addLinting(host: Tree, options: PWASchema) { - if (options.linter !== Linter.EsLint) { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/linter', NX_VERSION); - const { lintProjectGenerator } = await import('@nx/linter'); - const tasks: GeneratorCallback[] = []; - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.projectName, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx}`], - skipFormat: true, - }); - tasks.push(lintTask); - - const stencilEslintJson = createStencilEslintJson(options.projectRoot); - updateJson( - host, - joinPathFragments(options.projectRoot, '.eslintrc.json'), - () => stencilEslintJson - ); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - tasks.push(installTask); - - return runTasksInSerial(...tasks); -} diff --git a/packages/stencil/src/generators/ionic-pwa/lib/add-project.ts b/packages/stencil/src/generators/ionic-pwa/lib/add-project.ts deleted file mode 100644 index 4efd7c2d9..000000000 --- a/packages/stencil/src/generators/ionic-pwa/lib/add-project.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { PWASchema } from '../schema'; -import { addProjectConfiguration, Tree } from '@nx/devkit'; -import { getDefaultTargets } from '../../../utils/targets'; - -export function addProject(tree: Tree, options: PWASchema) { - const targets = getDefaultTargets('application', options); - - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'application', - generators: { - '@nxext/stencil:component': { - style: options.style, - }, - }, - tags: options.parsedTags, - targets, - }); -} diff --git a/packages/stencil/src/generators/ionic-pwa/schema.d.ts b/packages/stencil/src/generators/ionic-pwa/schema.d.ts deleted file mode 100644 index ac25b8d2a..000000000 --- a/packages/stencil/src/generators/ionic-pwa/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { AppType } from './../../utils/typings'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { Linter } from '@nx/linter'; - -export interface RawPWASchema { - name: string; - tags?: string; - directory?: string; - style?: SupportedStyles; - skipFormat?: boolean; - appType?: AppType; - e2eTestRunner?: string; - unitTestRunner?: string; - projectRoot?: string; - linter?: Linter; -} - -export interface PWASchema extends RawPWASchema { - projectName: string; - projectRoot: string; - projectDirectory: string; - parsedTags: string[]; - appType: AppType; - style: SupportedStyles; -} diff --git a/packages/stencil/src/generators/ionic-pwa/schema.json b/packages/stencil/src/generators/ionic-pwa/schema.json deleted file mode 100644 index c94114e8e..000000000 --- a/packages/stencil/src/generators/ionic-pwa/schema.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Nxext-Pwa", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed", - "alias": "d" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["puppeteer", "none"], - "description": "Test runner to use for end to end (e2e) tests", - "default": "puppeteer" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "skipFormat": { - "type": "boolean", - "default": false - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "style": { - "description": "The file extension to be used for style files.", - "type": "string", - "default": "css", - "alias": "s", - "x-prompt": { - "message": "Which stylesheet format would you like to use?", - "type": "list", - "items": [ - { - "value": "css", - "label": "CSS" - }, - { - "value": "scss", - "label": "SASS(.scss) [ http://sass-lang.com ]" - }, - { - "value": "styl", - "label": "Stylus(.styl) [ http://stylus-lang.com ]" - }, - { - "value": "less", - "label": "LESS [ http://lesscss.org ]" - }, - { - "value": "pcss", - "label": "PostCSS [ https://postcss.org/ ]" - } - ] - } - } - }, - "required": ["name"] -} diff --git a/packages/stencil/src/generators/library/files/lib/LICENSE.template b/packages/stencil/src/generators/library/files/lib/LICENSE.template deleted file mode 100644 index 81f990d60..000000000 --- a/packages/stencil/src/generators/library/files/lib/LICENSE.template +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 - -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/stencil/src/generators/library/files/lib/src/components.d.ts.template b/packages/stencil/src/generators/library/files/lib/src/components.d.ts.template deleted file mode 100644 index b631ecf27..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/components.d.ts.template +++ /dev/null @@ -1 +0,0 @@ -export * from './components/my-component/my-component'; diff --git a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.__style__.template b/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.__style__.template deleted file mode 100644 index 5d4e87f30..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.__style__.template +++ /dev/null @@ -1,3 +0,0 @@ -:host { - display: block; -} diff --git a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.e2e.ts.template b/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.e2e.ts.template deleted file mode 100644 index d7ff311a2..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.e2e.ts.template +++ /dev/null @@ -1,32 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('my-component', () => { - it('renders', async () => { - const page = await newE2EPage(); - - await page.setContent(''); - const element = await page.find('my-component'); - expect(element).toHaveClass('hydrated'); - }); - - it('renders changes to the name data', async () => { - const page = await newE2EPage(); - - await page.setContent(''); - const component = await page.find('my-component'); - const element = await page.find('my-component >>> div'); - expect(element.textContent).toEqual(`Hello, World! I'm `); - - component.setProperty('first', 'James'); - await page.waitForChanges(); - expect(element.textContent).toEqual(`Hello, World! I'm James`); - - component.setProperty('last', 'Quincy'); - await page.waitForChanges(); - expect(element.textContent).toEqual(`Hello, World! I'm James Quincy`); - - component.setProperty('middle', 'Earl'); - await page.waitForChanges(); - expect(element.textContent).toEqual(`Hello, World! I'm James Earl Quincy`); - }); -}); diff --git a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.spec.ts.template b/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.spec.ts.template deleted file mode 100644 index 90f76d48f..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.spec.ts.template +++ /dev/null @@ -1,36 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { MyComponent } from './my-component'; - -describe('my-component', () => { - it('renders', async () => { - const {root} = await newSpecPage({ - components: [MyComponent], - html: '' - }); - expect(root).toEqualHtml(` - - -
- Hello, World! I'm -
-
-
- `); - }); - - it('renders with values', async () => { - const {root} = await newSpecPage({ - components: [MyComponent], - html: `` - }); - expect(root).toEqualHtml(` - - -
- Hello, World! I'm Stencil 'Don't call me a framework' JS -
-
-
- `); - }); -}); diff --git a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.tsx.template b/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.tsx.template deleted file mode 100644 index 6311b1075..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/components/my-component/my-component.tsx.template +++ /dev/null @@ -1,32 +0,0 @@ -import { Component, Prop, h } from '@stencil/core'; -import { format } from '../../utils/utils'; - -@Component({ - tag: 'my-component', - styleUrl: 'my-component.<%= style %>', - shadow: true -}) -export class MyComponent { - /** - * The first name - */ - @Prop() first: string; - - /** - * The middle name - */ - @Prop() middle: string; - - /** - * The last name - */ - @Prop() last: string; - - private getText(): string { - return format(this.first, this.middle, this.last); - } - - render() { - return
Hello, World! I'm {this.getText()}
; - } -} diff --git a/packages/stencil/src/generators/library/files/lib/src/components/my-component/readme.md.template b/packages/stencil/src/generators/library/files/lib/src/components/my-component/readme.md.template deleted file mode 100644 index 06b586481..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/components/my-component/readme.md.template +++ /dev/null @@ -1,19 +0,0 @@ -# my-component - - - - - - -## Properties - -| Property | Attribute | Description | Type | Default | -| -------- | --------- | --------------- | -------- | ----------- | -| `first` | `first` | The first name | `string` | `undefined` | -| `last` | `last` | The last name | `string` | `undefined` | -| `middle` | `middle` | The middle name | `string` | `undefined` | - - ----------------------------------------------- - -*Built with [StencilJS](https://stenciljs.com/)* diff --git a/packages/stencil/src/generators/library/files/lib/src/index.ts.template b/packages/stencil/src/generators/library/files/lib/src/index.ts.template deleted file mode 100644 index 07635cbbc..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/index.ts.template +++ /dev/null @@ -1 +0,0 @@ -export * from './components'; diff --git a/packages/stencil/src/generators/library/files/lib/src/utils/utils.spec.ts.template b/packages/stencil/src/generators/library/files/lib/src/utils/utils.spec.ts.template deleted file mode 100644 index 77ef54a21..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/utils/utils.spec.ts.template +++ /dev/null @@ -1,21 +0,0 @@ -import { format } from './utils'; - -describe('format', () => { - it('returns empty string for no names defined', () => { - expect(format(undefined, undefined, undefined)).toEqual(''); - }); - - it('formats just first names', () => { - expect(format('Joseph', undefined, undefined)).toEqual('Joseph'); - }); - - it('formats first and last names', () => { - expect(format('Joseph', undefined, 'Publique')).toEqual('Joseph Publique'); - }); - - it('formats first, middle and last names', () => { - expect(format('Joseph', 'Quincy', 'Publique')).toEqual( - 'Joseph Quincy Publique' - ); - }); -}); diff --git a/packages/stencil/src/generators/library/files/lib/src/utils/utils.ts.template b/packages/stencil/src/generators/library/files/lib/src/utils/utils.ts.template deleted file mode 100644 index 35db500ff..000000000 --- a/packages/stencil/src/generators/library/files/lib/src/utils/utils.ts.template +++ /dev/null @@ -1,8 +0,0 @@ - -export function format(first: string, middle: string, last: string): string { - return ( - (first || '') + - (middle ? ` ${middle}` : '') + - (last ? ` ${last}` : '') - ); -} diff --git a/packages/stencil/src/generators/library/files/lib/stencil.config.ts.template b/packages/stencil/src/generators/library/files/lib/stencil.config.ts.template deleted file mode 100644 index ff5fe624f..000000000 --- a/packages/stencil/src/generators/library/files/lib/stencil.config.ts.template +++ /dev/null @@ -1,11 +0,0 @@ -import { Config } from '@stencil/core'; - -export const config: Config = { - namespace: '<%= name %>', - taskQueue: 'async', - sourceMap: true, - - extras: { - experimentalImportInjection: true, - } -}; diff --git a/packages/stencil/src/generators/library/files/lib/tsconfig.json.template b/packages/stencil/src/generators/library/files/lib/tsconfig.json.template deleted file mode 100644 index 26a390788..000000000 --- a/packages/stencil/src/generators/library/files/lib/tsconfig.json.template +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "allowUnreachableCode": false, - "declaration": false, - "experimentalDecorators": true, - "lib": [ - "dom", - "es2015" - ], - "moduleResolution": "node", - "module": "esnext", - "target": "es2017", - "noUnusedLocals": true, - "noUnusedParameters": true, - "jsx": "react", - "jsxFactory": "h" - }, - "references": [ - { - "path": "./tsconfig.lib.json" - } - ] -} diff --git a/packages/stencil/src/generators/library/files/lib/tsconfig.lib.json.template b/packages/stencil/src/generators/library/files/lib/tsconfig.lib.json.template deleted file mode 100644 index e3081ffac..000000000 --- a/packages/stencil/src/generators/library/files/lib/tsconfig.lib.json.template +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "declaration": true, - "composite": true, - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], -} diff --git a/packages/stencil/src/generators/library/generator.spec.ts b/packages/stencil/src/generators/library/generator.spec.ts deleted file mode 100644 index cea0a458e..000000000 --- a/packages/stencil/src/generators/library/generator.spec.ts +++ /dev/null @@ -1,291 +0,0 @@ -import { STYLE_PLUGIN_DEPENDENCIES } from '../../utils/typings'; -import { fileListForAppType } from '../../utils/testing'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { RawLibrarySchema } from './schema'; -import { - readJson, - readProjectConfiguration, - Tree, - updateJson, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from './generator'; - -describe('library', () => { - let host: Tree; - const options: RawLibrarySchema = { - name: 'test', - buildable: false, - publishable: false, - component: true, - e2eTestRunner: 'none', - importPath: '@e2e/test', - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(host, '/package.json', (json) => { - json.devDependencies = { - '@nx/workspace': '15.7.0', - }; - return json; - }); - }); - - it('should add tags to nx.json', async () => { - await libraryGenerator(host, { ...options, tags: 'e2etag,e2ePackage' }); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.tags).toEqual(['e2etag', 'e2ePackage']); - }); - - it('should create files', async () => { - await libraryGenerator(host, options); - - const fileList = fileListForAppType( - options.name, - SupportedStyles.css, - 'library' - ); - fileList.forEach((file) => expect(host.exists(file))); - }); - - it(`should set path in tsconfig`, async () => { - await libraryGenerator(host, { ...options }); - const tsConfig = readJson(host, 'tsconfig.base.json'); - - expect(tsConfig.compilerOptions.paths['@e2e/test']).toEqual([ - `libs/test/src/index.ts`, - ]); - }); - - it(`shouldn't create default component if component=false`, async () => { - await libraryGenerator(host, { ...options, component: false }); - - expect( - host.exists(`libs/${options.name}/src/components/my-component`) - ).toBeFalsy(); - expect( - host.exists( - `libs/${options.name}/src/components/my-component/my-component.tsx` - ) - ).toBeFalsy(); - }); - - it('should create files in specified dir', async () => { - await libraryGenerator(host, { ...options, directory: 'subdir' }); - - const fileList = fileListForAppType( - options.name, - SupportedStyles.css, - 'library', - 'subdir' - ); - fileList.forEach((file) => expect(host.exists(file))); - }); - - it('should add Stencil Library dependencies', async () => { - await libraryGenerator(host, options); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - expect(packageJson.devDependencies['@ionic/core']).toBeUndefined(); - }); - - Object.keys(SupportedStyles).forEach((style) => { - it(`should add Stencil ${style} dependencies to lib`, async () => { - await libraryGenerator(host, { - ...options, - style: SupportedStyles[style], - }); - const packageJson = readJson(host, 'package.json'); - expect(packageJson.devDependencies['@stencil/core']).toBeDefined(); - - const styleDependencies = STYLE_PLUGIN_DEPENDENCIES[style]; - for (const devDependenciesKey in styleDependencies.devDependencies) { - expect(packageJson.devDependencies[devDependenciesKey]).toBeDefined(); - } - }); - }); - - Object.keys(SupportedStyles).forEach((style) => { - it(`should add component config for ${style} to workspace config`, async () => { - await libraryGenerator(host, { - ...options, - style: SupportedStyles[style], - }); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.generators).toEqual({ - '@nxext/stencil:component': { - style: style, - }, - }); - }); - }); - - describe('default libraries', () => { - const options: RawLibrarySchema = { - name: 'testlib', - buildable: false, - publishable: false, - }; - - it('shouldnt create build targets if not buildable', async () => { - await libraryGenerator(host, options); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.targets['build']).toBeUndefined(); - expect(projectConfig.targets['e2e']).toBeUndefined(); - expect(projectConfig.targets['serve']).toBeUndefined(); - }); - - it('should export component', async () => { - await libraryGenerator(host, options); - - expect( - host.read('libs/testlib/src/components.d.ts').toString('utf-8') - ).toContain("export * from './components/my-component/my-component';"); - }); - - it('shouldnt create build files', async () => { - await libraryGenerator(host, options); - - expect(host.exists('libs/testlib/stencil.config.ts')).toBeTruthy(); - expect(host.exists('libs/testlib/src/index.html')).toBeFalsy(); - expect(host.exists('libs/testlib/src/components.d.ts')).toBeTruthy(); - }); - }); - - describe('buildable libraries', () => { - const options: RawLibrarySchema = { - name: 'testlib', - buildable: true, - publishable: false, - component: true, - }; - - const pluginForSupportedStyles = { - [SupportedStyles.less]: 'less', - [SupportedStyles.pcss]: 'postcss', - [SupportedStyles.scss]: 'sass', - [SupportedStyles.styl]: 'stylus', - }; - - it('should create build targets', async () => { - await libraryGenerator(host, options); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.targets['build']).toBeDefined(); - expect(projectConfig.targets['e2e']).toBeDefined(); - expect(projectConfig.targets['serve']).toBeDefined(); - }); - - it('should export bundle', async () => { - await libraryGenerator(host, options); - - expect( - host.read('libs/testlib/src/index.ts').toString('utf-8') - ).toContain("export * from './components';"); - }); - - it('should create build files', async () => { - await libraryGenerator(host, options); - - expect(host.exists('libs/testlib/stencil.config.ts')).toBeTruthy(); - expect(host.exists('libs/testlib/src/components.d.ts')).toBeTruthy(); - }); - - Object.keys(pluginForSupportedStyles).forEach((style) => { - const plugin = pluginForSupportedStyles[style]; - - it(`should import ${plugin} plugin`, async () => { - await libraryGenerator(host, { - ...options, - style: style as SupportedStyles, - }); - - expect( - host.read('libs/testlib/stencil.config.ts').toString('utf-8') - ).toContain(`import { ${plugin} } from '@stencil/${plugin}'`); - }); - }); - - it('should import autoprefix along side postcss plugin', async () => { - await libraryGenerator(host, { - ...options, - style: SupportedStyles.pcss, - }); - - expect( - host.read('libs/testlib/stencil.config.ts').toString('utf-8') - ).toContain("import autoprefixer from 'autoprefixer'"); - }); - }); - - describe('publishable libraries', () => { - const options: RawLibrarySchema = { - name: 'testlib', - buildable: false, - publishable: true, - importPath: '@myorg/mylib', - component: true, - }; - - it('should throw error if publishable without importPath', async () => { - try { - await libraryGenerator(host, { - name: options.name, - component: true, - buildable: false, - publishable: true, - }); - } catch (error) { - expect(error.message).toContain( - 'For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)' - ); - } - }); - - it('should create build targets', async () => { - await libraryGenerator(host, options); - - const projectConfig = readProjectConfiguration(host, options.name); - expect(projectConfig.targets['build']).toBeDefined(); - expect(projectConfig.targets['e2e']).toBeDefined(); - expect(projectConfig.targets['serve']).toBeDefined(); - }); - - it('should export bundle', async () => { - await libraryGenerator(host, options); - - expect( - host.read('libs/testlib/src/index.ts').toString('utf-8') - ).toContain("export * from './components';"); - }); - - it('should create build files', async () => { - await libraryGenerator(host, options); - - expect(host.exists('libs/testlib/stencil.config.ts')).toBeTruthy(); - expect(host.exists('libs/testlib/package.json')).toBeTruthy(); - expect(host.exists('libs/testlib/src/components.d.ts')).toBeTruthy(); - }); - - it('should update importPath', async () => { - await libraryGenerator(host, options); - const pkgJson = readJson(host, 'libs/testlib/package.json'); - - expect(pkgJson.name).toBe('@myorg/mylib'); - }); - - it(`shouldn't create spec files if unitTestrunner is 'none'`, async () => { - await libraryGenerator(host, { ...options, unitTestRunner: 'none' }); - - expect( - host.exists( - `libs/testlib/src/components/my-component/my-component.spec.ts` - ) - ).toBeFalsy(); - }); - }); -}); diff --git a/packages/stencil/src/generators/library/generator.ts b/packages/stencil/src/generators/library/generator.ts deleted file mode 100644 index 42f927415..000000000 --- a/packages/stencil/src/generators/library/generator.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { - convertNxGenerator, - formatFiles, - generateFiles, - getWorkspaceLayout, - joinPathFragments, - names, - offsetFromRoot, - runTasksInSerial, - Tree, -} from '@nx/devkit'; -import { LibrarySchema, RawLibrarySchema } from './schema'; -import { AppType } from '../../utils/typings'; -import { calculateStyle } from '../../utils/utillities'; -import { initGenerator } from '../../generators/init/init'; -import { MakeLibBuildableSchema } from '../../generators/make-lib-buildable/schema'; -import { updateTsConfig } from './lib/update-tsconfig'; -import { addProject } from './lib/add-project'; -import makeLibBuildableGenerator from '../../generators/make-lib-buildable/make-lib-buildable'; - -function normalizeOptions( - host: Tree, - options: RawLibrarySchema -): LibrarySchema { - const { libsDir, npmScope } = getWorkspaceLayout(host); - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); - const projectRoot = `${libsDir}/${projectDirectory}`; - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - const style = calculateStyle(options.style); - const appType = AppType.library; - const importPath = options.importPath || `@${npmScope}/${projectDirectory}`; - - return { - ...options, - projectName, - projectRoot, - projectDirectory, - parsedTags, - style, - appType, - importPath, - } as LibrarySchema; -} - -function createFiles(host: Tree, options: LibrarySchema) { - generateFiles( - host, - joinPathFragments(__dirname, './files/lib'), - options.projectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - } - ); - - if (options.unitTestRunner === 'none') { - host.delete( - `${options.projectRoot}/src/components/my-component/my-component.spec.ts` - ); - } - - if (!options.component) { - host.delete(`${options.projectRoot}/src/components/my-component`); - } -} - -export async function libraryGenerator(host: Tree, schema: RawLibrarySchema) { - const options = normalizeOptions(host, schema); - - if (options.publishable === true && !options.importPath) { - throw new Error( - `For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)` - ); - } - const initTask = await initGenerator(host, options); - - addProject(host, options); - createFiles(host, options); - updateTsConfig(host, options); - - if (options.buildable || options.publishable) { - await makeLibBuildableGenerator(host, { - name: options.projectName, - importPath: options.importPath, - style: options.style, - } as MakeLibBuildableSchema); - } - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask); -} - -export default libraryGenerator; -export const librarySchematic = convertNxGenerator(libraryGenerator); diff --git a/packages/stencil/src/generators/library/lib/add-linting.ts b/packages/stencil/src/generators/library/lib/add-linting.ts deleted file mode 100644 index af11114d2..000000000 --- a/packages/stencil/src/generators/library/lib/add-linting.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - addDependenciesToPackageJson, - ensurePackage, - GeneratorCallback, - joinPathFragments, - NX_VERSION, - Tree, - updateJson, - runTasksInSerial, -} from '@nx/devkit'; -import { LibrarySchema } from '../schema'; -import { Linter } from '@nx/linter'; -import { - createStencilEslintJson, - extraEslintDependencies, -} from '../../../utils/lint'; - -export async function addLinting(host: Tree, options: LibrarySchema) { - if (options.linter !== Linter.EsLint) { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/linter', NX_VERSION); - const { lintProjectGenerator } = await import('@nx/linter'); - const tasks: GeneratorCallback[] = []; - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.projectName, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.lib.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx}`], - skipFormat: true, - }); - tasks.push(lintTask); - - const stencilEslintJson = createStencilEslintJson(options.projectRoot); - updateJson( - host, - joinPathFragments(options.projectRoot, '.eslintrc.json'), - () => stencilEslintJson - ); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - tasks.push(installTask); - - return runTasksInSerial(...tasks); -} diff --git a/packages/stencil/src/generators/library/lib/add-project.ts b/packages/stencil/src/generators/library/lib/add-project.ts deleted file mode 100644 index 2eb5b924b..000000000 --- a/packages/stencil/src/generators/library/lib/add-project.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { addProjectConfiguration, Tree } from '@nx/devkit'; -import { getTestTarget } from '../../../utils/targets'; -import { LibrarySchema } from '../schema'; - -export function addProject(tree: Tree, options: LibrarySchema) { - const targets = { - test: getTestTarget('library', options), - }; - - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'library', - generators: { - '@nxext/stencil:component': { - style: options.style, - }, - }, - tags: options.parsedTags, - targets, - }); -} diff --git a/packages/stencil/src/generators/library/lib/update-tsconfig.ts b/packages/stencil/src/generators/library/lib/update-tsconfig.ts deleted file mode 100644 index 8b1e461b1..000000000 --- a/packages/stencil/src/generators/library/lib/update-tsconfig.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { LibrarySchema } from '../schema'; -import { Tree, updateJson } from '@nx/devkit'; - -export function updateTsConfig(host: Tree, options: LibrarySchema) { - updateJson(host, 'tsconfig.base.json', (json) => { - const c = json.compilerOptions; - delete c.paths[`${options.importPath}`]; - c.paths[`${options.importPath}`] = [`${options.projectRoot}/src/index.ts`]; - return json; - }); -} diff --git a/packages/stencil/src/generators/library/schema.d.ts b/packages/stencil/src/generators/library/schema.d.ts deleted file mode 100644 index 7cdb73da3..000000000 --- a/packages/stencil/src/generators/library/schema.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { AppType } from './../../utils/typings'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { Linter } from '@nx/linter'; - -export interface RawLibrarySchema { - name: string; - tags?: string; - directory?: string; - skipFormat?: boolean; - buildable: boolean; - publishable: boolean; - importPath?: string; - style?: SupportedStyles; - e2eTestRunner?: string; - unitTestRunner?: string; - linter?: Linter; - component?: boolean; -} - -export interface LibrarySchema extends RawLibrarySchema { - projectName: string; - projectRoot: string; - projectDirectory: string; - appType: AppType; - parsedTags: string[]; -} diff --git a/packages/stencil/src/generators/library/schema.json b/packages/stencil/src/generators/library/schema.json deleted file mode 100644 index 7c2f37b88..000000000 --- a/packages/stencil/src/generators/library/schema.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Nxext-Library", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed", - "alias": "d" - }, - "skipFormat": { - "type": "boolean", - "default": false - }, - "buildable": { - "type": "boolean", - "default": false - }, - "publishable": { - "type": "boolean", - "description": "Create a publishable library." - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like @myorg/my-awesome-lib" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["puppeteer", "none"], - "description": "Test runner to use for end to end (e2e) tests", - "default": "puppeteer" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "component": { - "type": "boolean", - "description": "Generate a default component.", - "default": true - }, - "style": { - "description": "The file extension to be used for style files.", - "type": "string", - "default": "css", - "alias": "s", - "x-prompt": { - "message": "Which stylesheet format would you like to use?", - "type": "list", - "items": [ - { - "value": "css", - "label": "CSS" - }, - { - "value": "scss", - "label": "SASS(.scss) [ http://sass-lang.com ]" - }, - { - "value": "styl", - "label": "Stylus(.styl) [ http://stylus-lang.com ]" - }, - { - "value": "less", - "label": "LESS [ http://lesscss.org ]" - }, - { - "value": "pcss", - "label": "PostCSS [ https://postcss.org/ ]" - } - ] - } - } - }, - "required": ["name"] -} diff --git a/packages/stencil/src/generators/make-lib-buildable/files/lib/package.json.template b/packages/stencil/src/generators/make-lib-buildable/files/lib/package.json.template deleted file mode 100644 index 0e0dca353..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/files/lib/package.json.template +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "<%= importPath %>", - "version": "0.0.1", - "main": "./dist/index.cjs.js", - "module": "./dist/index.js", - "es2015": "./dist/esm/index.mjs", - "es2017": "./dist/esm/index.mjs", - "types": "./dist/types/index.d.ts", - "collection": "./dist/collection/collection-manifest.json", - "collection:main": "./dist/collection/index.js", - "unpkg": "./dist/<%= name %>/<%= name %>.js", - "files": [ - "dist/", - "loader/" - ] -} diff --git a/packages/stencil/src/generators/make-lib-buildable/files/lib/src/index.html.template b/packages/stencil/src/generators/make-lib-buildable/files/lib/src/index.html.template deleted file mode 100644 index cfca63287..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/files/lib/src/index.html.template +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Stencil Component Starter - - - - - - - - - - - diff --git a/packages/stencil/src/generators/make-lib-buildable/lib/update-tsconfig.ts b/packages/stencil/src/generators/make-lib-buildable/lib/update-tsconfig.ts deleted file mode 100644 index 8ddf7bfcd..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/lib/update-tsconfig.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { MakeLibBuildableSchema } from '../schema'; -import { Tree, updateJson } from '@nx/devkit'; -import { getRootTsConfigPathInTree } from '@nx/workspace/src/utilities/typescript'; -import { getProjectTsImportPath } from '../../storybook-configuration/generator'; - -export function updateTsConfig(host: Tree, options: MakeLibBuildableSchema) { - updateJson(host, getRootTsConfigPathInTree(host), (json) => { - const c = json.compilerOptions; - const tsBasePathKey = - options.importPath || getProjectTsImportPath(host, options.name); - - delete c.paths[`${tsBasePathKey}`]; - c.paths[`${tsBasePathKey}`] = [`dist/libs/${options.name}`]; - - delete c.paths[`${tsBasePathKey}/loader`]; - c.paths[`${tsBasePathKey}/loader`] = [`dist/libs/${options.name}/loader`]; - - delete c.paths[`${tsBasePathKey}/*`]; - c.paths[`${tsBasePathKey}/*`] = [ - `dist/libs/${options.name}/dist/components/*`, - ]; - - return json; - }); -} diff --git a/packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.spec.ts b/packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.spec.ts deleted file mode 100644 index 6eea44eaf..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.spec.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { uniq } from '@nx/plugin/testing'; -import { MakeLibBuildableSchema } from './schema'; -import { SupportedStyles } from '../../stencil-core-utils'; -import { - readJson, - readWorkspaceConfiguration, - Tree, - updateJson, - updateWorkspaceConfiguration, -} from '@nx/devkit'; -import { makeLibBuildableGenerator } from './make-lib-buildable'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from '../library/generator'; -import { testNpmScope } from '../../utils/testing'; - -describe('make-lib-buildable schematic', () => { - let host: Tree; - const name = uniq('testproject'); - const options: MakeLibBuildableSchema = { - name, - style: SupportedStyles.css, - importPath: '@my/lib', - }; - - beforeEach(async () => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(host, '/package.json', (json) => { - json.devDependencies = { - '@nx/workspace': '15.7.0', - }; - return json; - }); - await libraryGenerator(host, { - name: options.name, - style: SupportedStyles.css, - importPath: options.importPath, - buildable: false, - publishable: false, - }); - }); - - it('should add outputTargets', async () => { - await makeLibBuildableGenerator(host, options); - - expect(host.read(`libs/${name}/stencil.config.ts`).toString('utf-8')) - .toMatchInlineSnapshot(` - "import { Config } from '@stencil/core'; - - export const config: Config = { - namespace: '${name}', - taskQueue: 'async', - sourceMap: true, - - extras: { - experimentalImportInjection: true, - }, - outputTargets: [ - { - type: 'dist', - esmLoaderPath: '../loader', - }, - { - type: 'dist-custom-elements', - }, - { - type: 'docs-readme', - }, - { - type: 'www', - serviceWorker: null, // disable service workers - }, - { - type: 'dist-hydrate-script', - dir: 'dist/hydrate', - }, - { - type: 'dist-custom-elements', - autoDefineCustomElements: true, - includeGlobalScripts: false, - }, - ], - }; - " - `); - }); - - it('should add outputTargets', async () => { - await makeLibBuildableGenerator(host, options); - - const packageJson = readJson(host, `libs/${name}/package.json`); - expect(packageJson['name']).toEqual(`@my/lib`); - }); - - it(`should set path in tsconfig for buildable libs`, async () => { - await makeLibBuildableGenerator(host, options); - const tsConfig = readJson(host, 'tsconfig.base.json'); - - expect(tsConfig.compilerOptions.paths['@my/lib']).toEqual([ - `dist/libs/${name}`, - ]); - }); -}); - -describe('make-lib-buildable schematic using defaults', () => { - let host: Tree; - const name = uniq('testproject'); - const options: MakeLibBuildableSchema = { - name, - style: SupportedStyles.css, - }; - - beforeEach(async () => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - const workspaceConfiguration = readWorkspaceConfiguration(host); - workspaceConfiguration.npmScope = testNpmScope; - updateWorkspaceConfiguration(host, workspaceConfiguration); - - await libraryGenerator(host, { - name: options.name, - style: SupportedStyles.css, - importPath: options.importPath, - buildable: false, - publishable: false, - }); - }); - - it(`should set default path in tsconfig for buildable libs`, async () => { - await makeLibBuildableGenerator(host, options); - const tsConfig = readJson(host, 'tsconfig.base.json'); - - expect(tsConfig.compilerOptions.paths[`@${testNpmScope}/${name}`]).toEqual([ - `dist/libs/${name}`, - ]); - }); -}); diff --git a/packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.ts b/packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.ts deleted file mode 100644 index e6e141eed..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/make-lib-buildable.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { - convertNxGenerator, - generateFiles, - joinPathFragments, - readProjectConfiguration, - updateProjectConfiguration, - formatFiles, - Tree, -} from '@nx/devkit'; -import { MakeLibBuildableSchema } from './schema'; -import { addStylePluginToConfig } from '../../stencil-core-utils'; -import { addToOutputTargets } from '../../stencil-core-utils'; -import { updateTsConfig } from './lib/update-tsconfig'; -import { - getBuildTarget, - getE2eTarget, - getLintTarget, - getServeTarget, -} from '../../utils/targets'; -import { AppType } from '../../utils/typings'; -import { getProjectTsImportPath } from '../storybook-configuration/generator'; - -function normalize( - host: Tree, - options: MakeLibBuildableSchema -): MakeLibBuildableSchema { - options.projectRoot = readProjectConfiguration(host, options.name).root; - - options.importPath = - options.importPath || getProjectTsImportPath(host, options.name); - - return { ...options } as MakeLibBuildableSchema; -} - -function createFiles(host: Tree, options: MakeLibBuildableSchema) { - generateFiles( - host, - joinPathFragments(__dirname, './files/lib'), - options.projectRoot, - options - ); -} - -function updateProjectConfig(host: Tree, options: MakeLibBuildableSchema) { - const projectConfig = readProjectConfiguration(host, options.name); - - projectConfig.targets = projectConfig.targets || {}; - projectConfig.targets.build = getBuildTarget(AppType.library, options); - projectConfig.targets.serve = getServeTarget(AppType.library, options); - projectConfig.targets.e2e = getE2eTarget(AppType.library, options); - projectConfig.targets.lint = getLintTarget( - AppType.library, - options.projectRoot - ); - - updateProjectConfiguration(host, options.name, projectConfig); -} - -export async function makeLibBuildableGenerator( - host: Tree, - schema: MakeLibBuildableSchema -) { - const options = normalize(host, schema); - - updateProjectConfig(host, options); - createFiles(host, options); - addStylePluginToConfig( - host, - joinPathFragments(options.projectRoot, 'stencil.config.ts'), - options.style - ); - addToOutputTargets( - host, - [ - `{ - type: 'dist', - esmLoaderPath: '../loader' - }`, - `{ - type: 'dist-custom-elements', - }`, - `{ - type: 'docs-readme', - }`, - `{ - type: 'www', - serviceWorker: null // disable service workers - }`, - `{ - type: 'dist-hydrate-script', - dir: 'dist/hydrate', - }`, - `{ - type: 'dist-custom-elements', - autoDefineCustomElements: true, - includeGlobalScripts: false, - }`, - ], - joinPathFragments(options.projectRoot, 'stencil.config.ts') - ); - updateTsConfig(host, options); - - await formatFiles(host); -} - -export default makeLibBuildableGenerator; -export const makeLibBuildableSchematic = convertNxGenerator( - makeLibBuildableGenerator -); diff --git a/packages/stencil/src/generators/make-lib-buildable/schema.d.ts b/packages/stencil/src/generators/make-lib-buildable/schema.d.ts deleted file mode 100644 index 7a94290ef..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/schema.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { InitSchema } from '../../generators/init/schema'; - -export interface MakeLibBuildableSchema - extends Pick { - /** - * The TS `paths` entry to be used across Nx projects. - * - * Defaults to: ampersand, Nx workspace name, forward-slash and finally Nx library name. Such as: - * `@nx-workspace/nx-library` - */ - importPath?: string; -} diff --git a/packages/stencil/src/generators/make-lib-buildable/schema.json b/packages/stencil/src/generators/make-lib-buildable/schema.json deleted file mode 100644 index f062bf149..000000000 --- a/packages/stencil/src/generators/make-lib-buildable/schema.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "MakeLibBuildable", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What library would you like to make buildable?" - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like @myorg/my-awesome-lib" - }, - "style": { - "description": "The file extension to be used for style files.", - "type": "string", - "default": "css", - "alias": "s", - "x-prompt": { - "message": "Which stylesheet format would you like to use?", - "type": "list", - "items": [ - { - "value": "css", - "label": "CSS" - }, - { - "value": "scss", - "label": "SASS(.scss) [ http://sass-lang.com ]" - }, - { - "value": "styl", - "label": "Stylus(.styl) [ http://stylus-lang.com ]" - }, - { - "value": "less", - "label": "LESS [ http://lesscss.org ]" - }, - { - "value": "pcss", - "label": "PostCSS [ https://postcss.org/ ]" - } - ] - } - } - }, - "required": ["name"] -} diff --git a/packages/stencil/src/generators/storybook-configuration/generator.spec.ts b/packages/stencil/src/generators/storybook-configuration/generator.spec.ts deleted file mode 100644 index 7fd27b392..000000000 --- a/packages/stencil/src/generators/storybook-configuration/generator.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import generator from './generator'; -import { StorybookConfigureSchema } from './schema'; -import { createTestUILib } from '../../utils/testing'; -import { SupportedStyles } from '../../stencil-core-utils'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); -// eslint-disable-next-line @typescript-eslint/no-var-requires -const readNxVersionModule = require('../../utils/utillities'); - -describe('storybook-configuration generator', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - jest.spyOn(readNxVersionModule, 'readNxVersion').mockReturnValue('15.7.0'); - - const options: StorybookConfigureSchema = { - name: 'test', - configureCypress: false, - }; - - it('should create storybook folder', async () => { - const host = await createTestUILib('test', SupportedStyles.css, true); - await generator(host, options); - - expect(host.exists('libs/test/.storybook')).toBeTruthy(); - expect(host.exists('.storybook')).toBeTruthy(); - }); - - it('should fail if library not buildable', async () => { - const host = await createTestUILib('test', SupportedStyles.css, false); - await generator(host, options); - - expect(host.exists('libs/test/.storybook')).toBeFalsy(); - expect(host.exists('.storybook')).toBeFalsy(); - }); -}); diff --git a/packages/stencil/src/generators/storybook-configuration/generator.ts b/packages/stencil/src/generators/storybook-configuration/generator.ts deleted file mode 100644 index 8ea105eff..000000000 --- a/packages/stencil/src/generators/storybook-configuration/generator.ts +++ /dev/null @@ -1,282 +0,0 @@ -import { - convertNxGenerator, - ensurePackage, - formatFiles, - generateFiles, - GeneratorCallback, - getWorkspaceLayout, - joinPathFragments, - logger, - NX_VERSION, - offsetFromRoot, - readJson, - readProjectConfiguration, - stripIndents, - Tree, - updateProjectConfiguration, - writeJson, - runTasksInSerial, -} from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import { TsConfig } from '@nx/storybook/src/utils/utilities'; -import { getRootTsConfigPathInTree } from '@nx/workspace/src/utilities/typescript'; -import { join } from 'path'; -import { isBuildableStencilProject } from '../../utils/utillities'; -import { updateDependencies } from './lib/add-dependencies'; -import { updateLintConfig } from './lib/update-lint-config'; -import { StorybookConfigureSchema } from './schema'; - -/** - * With Nx `npmScope` (eg: nx-workspace) and `projectName` (eg: nx-project), returns a path portion to be used for import statements or - * a tsconfig.json `paths` entry. - * - * @example `@nx-workspace/nx-project` - * @returns path portion of an import statement - */ -export function getProjectTsImportPath(tree: Tree, projectName: string) { - const workspaceLayout = getWorkspaceLayout(tree); - return `@${workspaceLayout.npmScope}/${projectName}`; -} - -export async function storybookConfigurationGenerator( - host: Tree, - rawSchema: StorybookConfigureSchema -) { - const tasks: GeneratorCallback[] = []; - const uiFramework = '@storybook/html-webpack5'; - const options = normalizeSchema(rawSchema); - - const projectConfig = readProjectConfiguration(host, options.name); - - if (!isBuildableStencilProject(projectConfig)) { - logger.info(stripIndents` - Please use a buildable library for storybook. Storybook needs a generated - Stencil loader to work (yet). They're working on native Stencil support, but - it's not ready yet. - - You could make this library buildable with: - - nx generate @nxext/stencil:make-lib-buildable ${options.name} - or - ng generate @nxext/stencil:make-lib-buildable ${options.name} - `); - - return; - } - - await ensurePackage('@nx/storybook', NX_VERSION); - const { initGenerator } = await import( - '@nx/storybook/src/generators/init/init' - ); - - const initTask = await initGenerator(host, { - uiFramework: uiFramework, - }); - tasks.push(initTask); - - createRootStorybookDir(host); - createProjectStorybookDir(host, options.name, uiFramework); - configureTsProjectConfig(host, options); - configureTsSolutionConfig(host); - updateLintConfig(host, options); - addStorybookTask(host, options.name, uiFramework); - updateDependencies(host); - - if (options.configureCypress) { - await ensurePackage('@nx/storybook', NX_VERSION); - const { cypressProjectGenerator } = await import('@nx/storybook'); - if (projectConfig.projectType !== 'application') { - const cypressTask = await cypressProjectGenerator(host, { - name: options.name, - js: false, - linter: options.linter, - directory: options.cypressDirectory, - standaloneConfig: options.standaloneConfig, - }); - tasks.push(cypressTask); - } else { - logger.warn('There is already an e2e project setup'); - } - } - - await formatFiles(host); - - return runTasksInSerial(...tasks); -} - -function normalizeSchema(schema: StorybookConfigureSchema) { - const defaults = { - configureCypress: true, - linter: Linter.EsLint, - }; - return { - ...defaults, - ...schema, - }; -} - -function getTsConfigPath( - tree: Tree, - projectName: string, - path?: string -): string { - const { root, projectType } = readProjectConfiguration(tree, projectName); - return join( - root, - path && path.length > 0 - ? path - : projectType === 'application' - ? 'tsconfig.app.json' - : 'tsconfig.lib.json' - ); -} - -export function createProjectStorybookDir( - tree: Tree, - projectName: string, - uiFramework: string -) { - const { root, projectType } = readProjectConfiguration(tree, projectName); - const projectDirectory = projectType === 'application' ? 'app' : 'lib'; - - if (tree.exists(join(root, '.storybook'))) { - return; - } - - const templatePath = join(__dirname, './project-files'); - const offset = offsetFromRoot(root); - - generateFiles(tree, templatePath, root, { - tmpl: '', - dot: '.', - uiFramework, - offsetFromRoot: offset, - rootTsConfigPath: getRootTsConfigPathInTree(tree), - projectType: projectDirectory, - loaderDir: getProjectTsImportPath(tree, projectName), - useWebpack5: true, - }); -} - -export function createRootStorybookDir(tree: Tree) { - if (tree.exists('.storybook')) { - return; - } - const templatePath = join(__dirname, './root-files'); - generateFiles(tree, templatePath, '', { - tmpl: '', - dot: '.', - rootTsConfigPath: getRootTsConfigPathInTree(tree), - useWebpack5: true, - }); -} - -function configureTsProjectConfig( - tree: Tree, - schema: StorybookConfigureSchema -) { - const { name: projectName } = schema; - - let tsConfigPath: string; - let tsConfigContent: TsConfig; - - try { - tsConfigPath = getTsConfigPath(tree, projectName); - tsConfigContent = readJson(tree, tsConfigPath); - } catch { - /** - * Custom app configurations - * may contain a tsconfig.json - * instead of a tsconfig.app.json. - */ - - tsConfigPath = getTsConfigPath(tree, projectName, 'tsconfig.json'); - tsConfigContent = readJson(tree, tsConfigPath); - } - - tsConfigContent.exclude = [ - ...(tsConfigContent.exclude || []), - '**/*.stories.ts', - '**/*.stories.js', - '**/*.stories.jsx', - '**/*.stories.tsx', - ]; - - writeJson(tree, tsConfigPath, tsConfigContent); -} - -function configureTsSolutionConfig(tree: Tree) { - const tsConfigPath = getRootTsConfigPathInTree(tree); - const tsConfigContent = readJson(tree, tsConfigPath); - - if ( - !tsConfigContent.references - ?.map((reference) => reference.path) - ?.includes('./.storybook/tsconfig.json') - ) { - tsConfigContent.references = [ - ...(tsConfigContent.references || []), - { - path: './.storybook/tsconfig.json', - }, - ]; - } - - writeJson(tree, tsConfigPath, tsConfigContent); -} - -function addStorybookTask( - tree: Tree, - projectName: string, - uiFramework: string -) { - const projectConfig = readProjectConfiguration(tree, projectName); - projectConfig.targets['storybook'] = { - executor: 'nx:run-commands', - options: { - commands: [ - `nx run ${projectName}:serve`, - `nx run ${projectName}:serve-storybook`, - ], - parallel: true, - }, - }; - projectConfig.targets['serve-storybook'] = { - executor: '@nx/storybook:storybook', - options: { - uiFramework, - port: 4400, - config: { - configFolder: `${projectConfig.root}/.storybook`, - }, - }, - configurations: { - ci: { - quiet: true, - }, - }, - }; - projectConfig.targets['build-storybook'] = { - executor: '@nx/storybook:build', - outputs: ['{options.outputPath}'], - options: { - uiFramework, - outputPath: joinPathFragments('dist/storybook', projectName), - config: { - configFolder: `${projectConfig.root}/.storybook`, - }, - }, - configurations: { - ci: { - quiet: true, - }, - }, - }; - - updateProjectConfiguration(tree, projectName, projectConfig); -} - -export default storybookConfigurationGenerator; -export const storybookConfigurationSchematic = convertNxGenerator( - storybookConfigurationGenerator -); diff --git a/packages/stencil/src/generators/storybook-configuration/lib/add-dependencies.ts b/packages/stencil/src/generators/storybook-configuration/lib/add-dependencies.ts deleted file mode 100644 index b28a76a19..000000000 --- a/packages/stencil/src/generators/storybook-configuration/lib/add-dependencies.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; -import { storybookVersion } from '@nx/storybook'; - -export function updateDependencies(tree: Tree) { - return addDependenciesToPackageJson( - tree, - {}, - { - '@storybook/manager-webpack5': storybookVersion, - '@storybook/builder-webpack5': storybookVersion, - '@storybook/web-components': storybookVersion, - 'lit-html': '^2.4.0', - } - ); -} diff --git a/packages/stencil/src/generators/storybook-configuration/lib/update-lint-config.ts b/packages/stencil/src/generators/storybook-configuration/lib/update-lint-config.ts deleted file mode 100644 index a399188a2..000000000 --- a/packages/stencil/src/generators/storybook-configuration/lib/update-lint-config.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { readProjectConfiguration, Tree, updateJson } from '@nx/devkit'; -import { StorybookConfigureSchema } from '../schema'; -import { join } from 'path'; - -/** - * When adding storybook we need to inform ESLint - * of the additional tsconfig.json file which will be the only tsconfig - * which includes *.stories files. - * - * For ESLint this is done within the .eslintrc.json file. - */ -export function updateLintConfig(tree: Tree, schema: StorybookConfigureSchema) { - const { name: projectName } = schema; - - const { root } = readProjectConfiguration(tree, projectName); - - if (tree.exists(join(root, '.eslintrc.json'))) { - updateJson(tree, join(root, '.eslintrc.json'), (json) => { - if (typeof json.parserOptions?.project === 'string') { - json.parserOptions.project = [json.parserOptions.project]; - } - - if (Array.isArray(json.parserOptions?.project)) { - json.parserOptions.project = dedupe([ - ...json.parserOptions.project, - join(root, '.storybook/tsconfig.json'), - ]); - } - - const overrides = json.overrides || []; - for (const o of overrides) { - if (typeof o.parserOptions?.project === 'string') { - o.parserOptions.project = [o.parserOptions.project]; - } - if (Array.isArray(o.parserOptions?.project)) { - o.parserOptions.project = dedupe([ - ...o.parserOptions.project, - join(root, '.storybook/tsconfig.json'), - ]); - } - } - - return json; - }); - } -} - -function dedupe(arr: string[]) { - return Array.from(new Set(arr)); -} diff --git a/packages/stencil/src/generators/storybook-configuration/project-files/.babelrc.json b/packages/stencil/src/generators/storybook-configuration/project-files/.babelrc.json deleted file mode 100644 index daae4f52f..000000000 --- a/packages/stencil/src/generators/storybook-configuration/project-files/.babelrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": [ - [ - // @see https://babeljs.io/docs/en/babel-preset-typescript - "@babel/preset-typescript", - { - "onlyRemoveTypeImports": true - } - ] - ] -} diff --git a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/main.ts__tmpl__ b/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/main.ts__tmpl__ deleted file mode 100644 index 38d5a6542..000000000 --- a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/main.ts__tmpl__ +++ /dev/null @@ -1,44 +0,0 @@ -// Imports the Storybook's configuration and options API -import type { StorybookConfig, Options} from '@storybook/core-common'; -import type { Configuration } from 'webpack'; -import {config as rootMain} from '<%= offsetFromRoot %>../.storybook/main'; - -/** - * @see https://github.com/storybookjs/storybook/blob/main/docs/configure/overview.md#using-storybook-api - * @see https://github.com/storybookjs/storybook/blob/main/lib/client-logger/src/index.ts - */ -export default { - ...rootMain, - stories: [ - ...rootMain.stories, - '../src/**/*.stories.mdx', - '../src/**/*.stories.@(js|jsx|ts|tsx)', - ], - core: { - builder: { - name: 'webpack5', - options: { - fsCache: false, - lazyCompilation: false, - }, - }, - }, - - framework: '@storybook/web-components', - - logLevel: 'warn', - features: { - babelModeV7: true, - storyStoreV7: true, - postcss: true, - }, - webpackFinal: async (config: Configuration, options: Options) => { - // apply any global webpack configs that might have been specified in .storybook/main.ts - if (rootMain.webpackFinal) { - config = await rootMain.webpackFinal(config, options); - } - - // add your own webpack tweaks if needed - return config; - }, -} as StorybookConfig; diff --git a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-body.html b/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-body.html deleted file mode 100644 index 92484b133..000000000 --- a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-body.html +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-head.html b/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-head.html deleted file mode 100644 index 1019a7445..000000000 --- a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview-head.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview.ts__tmpl__ b/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview.ts__tmpl__ deleted file mode 100644 index 72f8bef71..000000000 --- a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/preview.ts__tmpl__ +++ /dev/null @@ -1,12 +0,0 @@ -import { html } from 'lit-html'; -import { classMap } from 'lit-html/directives/class-map.js'; -import { defineCustomElements } from '<%= loaderDir %>/loader'; - -defineCustomElements(); - -const withThemeProvider = (storyFn, context) => { - const cssClasses = { centered: context.parameters.layout === 'centered' }; - - return html`
${storyFn()}
`; -}; -export const decorators = [withThemeProvider]; diff --git a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/tsconfig.json__tmpl__ b/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/tsconfig.json__tmpl__ deleted file mode 100644 index f59f3a9e4..000000000 --- a/packages/stencil/src/generators/storybook-configuration/project-files/__dot__storybook/tsconfig.json__tmpl__ +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tsconfig.json", - "include": [ - "preview.ts", - "**/*.stories.js", - "**/*.stories.ts", - "**/*.stories.jsx", - "**/*.stories.tsx" - ] -} diff --git a/packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/main.ts__tmpl__ b/packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/main.ts__tmpl__ deleted file mode 100644 index 7b0488b18..000000000 --- a/packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/main.ts__tmpl__ +++ /dev/null @@ -1,60 +0,0 @@ -// Imports the Storybook's configuration and options API -import type { StorybookConfig, Options } from '@storybook/core-common'; -import type { Configuration, RuleSetRule } from 'webpack'; -import { TsconfigPathsPlugin } from 'tsconfig-paths-webpack-plugin'; -import { logger } from '@storybook/node-logger'; -import { filterByLoaderName } from './utils/webpack-module-rules'; - -/** - * @see https://github.com/storybookjs/storybook/blob/main/docs/configure/overview.md#using-storybook-api - */ -export const config: StorybookConfig = { - addons: ['@storybook/addon-essentials'], - core: { - builder: { - name: 'webpack5', - options: { - fsCache: false, - lazyCompilation: false, - }, - }, - }, - // @see https://github.com/storybookjs/storybook/blob/main/docs/configure/overview.md#feature-flags - features: { - babelModeV7: true, - storyStoreV7: true, - }, - stories: [], - webpackFinal: async (config: Configuration, options: Options) => { - // `options.configType` has a value of 'DEVELOPMENT' or 'PRODUCTION' - // You can change the configuration based on that. - // 'PRODUCTION' is used when building the static version of storybook. - - const {resolve, module} = config; - if(!resolve) throw new Error(`No resolve object assigned to Webpack's config. This is needed for Storybook.`); - - // Make whatever fine-grained changes you need - const tsPaths = new TsconfigPathsPlugin({ - configFile: './<%= rootTsConfigPath %>', - extensions: resolve.extensions, - mainFields: resolve.mainFields as string[], - }); - - resolve.plugins - ? resolve.plugins.push(tsPaths) - : (resolve.plugins = [tsPaths]); - - module?.rules?.forEach((rule: RuleSetRule | '...') => { - // modify all 'babel-loader' occurrences by setting rootMode to 'upward'. this is needed in - // babel 7+ to include any Nx projects having a `.babelrc.json` file to be processed. these files - // must enable `onlyRemoveTypeImports` for stencil's 'h' module is not removed in stories. - filterByLoaderName(rule, 'babel-loader')?.forEach(ele => (ele.options = { ...ele.options, rootMode: 'upward' })); - }); - - const instance = (await options.presets.apply('webpackInstance')) as any; - logger.info(`=> Running in webpack instance: ${instance?.version}`); - - // Return the altered config - return config; - }, -}; diff --git a/packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/utils/webpack-module-rules.ts__tmpl__ b/packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/utils/webpack-module-rules.ts__tmpl__ deleted file mode 100644 index aaae4a895..000000000 --- a/packages/stencil/src/generators/storybook-configuration/root-files/__dot__storybook/utils/webpack-module-rules.ts__tmpl__ +++ /dev/null @@ -1,54 +0,0 @@ -import type { RuleSetRule, RuleSetUseItem } from 'webpack'; - -/** - * This type is a member from the `RuleSetUseItem` union type declared by Webpack. The - * other member of that union type is a string. - */ - type ObjectTypeRuleSetUseItem = {loader?: string, options?: { [index: string]: any }}; - - /** - * Since `RuleSetUse` union type has multiple members of different types, this returns - * `true` if the `rule.use` property is an Array. - */ - const isArrayTypeUsePropPresent = (use: unknown): use is Array => use instanceof Array; - - /** - * Since `RuleSetUseItem` union type has multiple members of different types, this returns - * `true` if parameter is `ObjectTypeRuleSetUseItem` type. - */ - const isObjectTypeRuleSetUseItem = (ele: RuleSetUseItem): ele is Required => { - return (typeof ele === 'object') && (typeof ele?.loader === 'string') && (typeof ele?.options === 'object'); - } - - /** - * With a given `rule` and `name` of a Webpack loader (e.g.: 'babel-loader'), return all occurrences from - * `rule.use` collection. - * - * This has been developed to specifically for 'babel-loader' although will work with other loaders of - * *same shape*. Same shape since Webpack's `rules` property, although typed, has objects of union types - * with most having multiple members. - * - * @see https://webpack.js.org/configuration/module/#modulerules - * @see https://webpack.js.org/loaders/ - * @see https://webpack.js.org/loaders/babel-loader - */ - export function filterByLoaderName(rule: RuleSetRule | '...', name: string): Array> | undefined { - // RegExp to match file path segments - const pathSegment = /(?!\\|\/)[-\w]+(?=\\|\/)/g; - - /** - * Returns `true` if the `rule.use[n].loader` value has `name` value in it. - * Prior to using this predicate, verify that `ele` has values by using `isObjectTypeRuleSetUseItem`. - */ - const isUseLoaderByName = (ele: Required): boolean => { - return Array.from(ele.loader.matchAll(pathSegment)).map(e => e.pop()).some(e => e === name); - } - - if (typeof rule === 'object') { - return isArrayTypeUsePropPresent(rule.use) - ? rule.use.filter(isObjectTypeRuleSetUseItem).filter(isUseLoaderByName) - : undefined; - } else if (typeof rule === 'string') { - return undefined; - } - } diff --git a/packages/stencil/src/generators/storybook-configuration/root-files/babel.config.json b/packages/stencil/src/generators/storybook-configuration/root-files/babel.config.json deleted file mode 100644 index 7efb996b5..000000000 --- a/packages/stencil/src/generators/storybook-configuration/root-files/babel.config.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - // @see https://babeljs.io/docs/en/options#sourcetype - "sourceType": "unambiguous", - // @see https://babeljs.io/docs/en/options#babelrcroots - "babelrcRoots": [ - // Keep the root as a root - ".", - - // Also consider monorepo packages "root" and load their .babelrc.json files. - "./libs/*" - ], - // @see https://babeljs.io/docs/en/options#presets - "presets": [ - "@babel/preset-env", - [ - // @see https://babeljs.io/docs/en/babel-preset-typescript - "@babel/preset-typescript", - { - "onlyRemoveTypeImports": false - } - ], - [ - // @see https://babeljs.io/docs/en/babel-preset-react - "@babel/preset-react", - { - "pragma": "h", // default pragma is React.createElement (only in classic runtime) - "development": true, - "useSpread": true, - "runtime": "classic" - } - ] - ], - "plugins": [ - "@babel/plugin-transform-shorthand-properties", - "@babel/plugin-transform-block-scoping", - [ - "@babel/plugin-proposal-decorators", - { - "legacy": true - } - ], - [ - "@babel/plugin-proposal-class-properties", - { - "loose": true - } - ], - [ - "@babel/plugin-proposal-private-property-in-object", - { - "loose": true - } - ], - [ - "@babel/plugin-proposal-private-methods", - { - "loose": true - } - ], - "@babel/plugin-proposal-export-default-from", - "@babel/plugin-syntax-dynamic-import", - [ - "@babel/plugin-proposal-object-rest-spread", - { - "loose": true, - "useBuiltIns": true - } - ], - "@babel/plugin-transform-classes", - "@babel/plugin-transform-arrow-functions", - "@babel/plugin-transform-parameters", - "@babel/plugin-transform-destructuring", - "@babel/plugin-transform-spread", - "@babel/plugin-transform-for-of", - "babel-plugin-macros", - "@babel/plugin-proposal-optional-chaining", - "@babel/plugin-proposal-nullish-coalescing-operator", - [ - "babel-plugin-polyfill-corejs3", - { - "method": "usage-global", - "absoluteImports": "core-js", - "version": "3.22.7" - } - ] - ] -} diff --git a/packages/stencil/src/generators/storybook-configuration/schema.d.ts b/packages/stencil/src/generators/storybook-configuration/schema.d.ts deleted file mode 100644 index 36e720afe..000000000 --- a/packages/stencil/src/generators/storybook-configuration/schema.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface StorybookConfigureSchema { - name: string; - configureCypress?: boolean; - linter?: Linter; - cypressDirectory?: string; - standaloneConfig?: boolean; -} diff --git a/packages/stencil/src/generators/storybook-configuration/schema.json b/packages/stencil/src/generators/storybook-configuration/schema.json deleted file mode 100644 index 66ab2095a..000000000 --- a/packages/stencil/src/generators/storybook-configuration/schema.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "NxextStorybookConfigure", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Library or application name", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "configureCypress": { - "type": "boolean", - "description": "Run the cypress-configure generator", - "x-prompt": "Configure a cypress e2e app to run against the storybook instance?" - }, - "cypressDirectory": { - "type": "string", - "description": "A directory where the Cypress project will be placed. Added at root by default." - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "standaloneConfig": { - "description": "Split the project configuration into `/project.json` rather than including it inside workspace.json", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/stencil/src/index.ts b/packages/stencil/src/index.ts deleted file mode 100644 index ade075a9c..000000000 --- a/packages/stencil/src/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { initGenerator } from './generators/init/init'; -export { applicationGenerator } from './generators/application/generator'; -export { ionicPwaGenerator } from './generators/ionic-pwa/generator'; -export { componentGenerator } from './generators/component/component'; -export { outputtargetGenerator } from './generators/add-outputtarget/add-outputtarget'; -export { libraryGenerator } from './generators/library/generator'; -export { makeLibBuildableGenerator } from './generators/make-lib-buildable/make-lib-buildable'; diff --git a/packages/stencil/src/migrations/utils/migration-utils.ts b/packages/stencil/src/migrations/utils/migration-utils.ts deleted file mode 100644 index cc17ca389..000000000 --- a/packages/stencil/src/migrations/utils/migration-utils.ts +++ /dev/null @@ -1,25 +0,0 @@ -export function isStencilProjectBuilder( - project: any, - builderCommand: string -): boolean { - const buildArchitect = - project.architect && project.architect[builderCommand] - ? project.architect[builderCommand] - : {}; - return ( - buildArchitect && - buildArchitect.builder === `@nxext/stencil:${builderCommand}` - ); -} - -export function isStencilProject(project: any): boolean { - return ['build', 'test', 'serve', 'e2e'] - .map((command) => { - const target = - project.targets && project.targets[command] - ? project.targets[command] - : {}; - return target && target.executor === `@nxext/stencil:${command}`; - }) - .some((value) => value === true); -} diff --git a/packages/stencil/src/stencil-core-utils/index.ts b/packages/stencil/src/stencil-core-utils/index.ts deleted file mode 100644 index aea12d939..000000000 --- a/packages/stencil/src/stencil-core-utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './lib/plugins'; -export * from './lib/style-plugins'; diff --git a/packages/stencil/src/stencil-core-utils/lib/plugins.ts b/packages/stencil/src/stencil-core-utils/lib/plugins.ts deleted file mode 100644 index 9bb7c2d57..000000000 --- a/packages/stencil/src/stencil-core-utils/lib/plugins.ts +++ /dev/null @@ -1,129 +0,0 @@ -import * as ts from 'typescript'; -import { readTsSourceFile } from '@nxext/core'; -import { - applyChangesToString, - ChangeType, - StringChange, - Tree, -} from '@nx/devkit'; -import { findNodes } from 'nx/src/utils/typescript'; - -function addCodeIntoArray( - source: ts.SourceFile, - identifier: string, - toInsert: string -): StringChange[] { - const nodes = findNodes(source, ts.SyntaxKind.ObjectLiteralExpression); - let node = nodes[0]; - const matchingProperties: ts.ObjectLiteralElement[] = ( - node as ts.ObjectLiteralExpression - ).properties - .filter( - (prop: ts.ObjectLiteralElementLike) => - prop.kind == ts.SyntaxKind.PropertyAssignment - ) - .filter((prop: ts.PropertyAssignment) => { - if (prop.name.kind === ts.SyntaxKind.Identifier) { - return (prop.name as ts.Identifier).getText(source) == identifier; - } - - return false; - }); - - if (!matchingProperties) { - return []; - } - - if (matchingProperties.length == 0) { - // We haven't found the field in the metadata declaration. Insert a new field. - const expr = node as ts.ObjectLiteralExpression; - let position: number; - let toInsert2: string; - if (expr.properties.length == 0) { - position = expr.getEnd() - 1; - toInsert2 = ` ${identifier}: [${toInsert}]\n`; - } else { - node = expr.properties[expr.properties.length - 1]; - position = node.getEnd(); - // Get the indentation of the last element, if any. - const text = node.getFullText(source); - if (text.match('^\r?\r?\n')) { - toInsert2 = `,${ - text.match(/^\r?\n\s+/)[0] - }${identifier}: [${toInsert}]`; - } else { - toInsert2 = `, ${identifier}: [${toInsert}]`; - } - } - return [ - { - type: ChangeType.Insert, - index: position, - text: `\n${toInsert2}\n`, - }, - ]; - } - - const assignment = matchingProperties[0] as ts.PropertyAssignment; - if (assignment.initializer.kind !== ts.SyntaxKind.ArrayLiteralExpression) { - return []; - } - - const lastItem = getLastEntryOfOutputtargetArray(assignment); - - let toInsert2 = `, ${toInsert}`; - if (lastItem.getText() === ',') { - toInsert2 = toInsert; - } - - return [ - { - type: ChangeType.Insert, - index: lastItem.getEnd(), - text: `\n${toInsert2}\n`, - }, - ]; -} - -function getLastEntryOfOutputtargetArray(node: ts.Node): ts.Node { - const arrayEntryList = node.getChildren()[2].getChildren()[1].getChildren(); - return arrayEntryList - .sort( - (first: ts.Node, second: ts.Node) => first.getStart() - second.getStart() - ) - .pop(); -} - -export function addOutputTarget( - source: ts.SourceFile, - toInsert: string -): StringChange[] { - const outputTargetsIdentifier = 'outputTargets'; - return addCodeIntoArray(source, outputTargetsIdentifier, toInsert); -} - -export function addToOutputTargets( - host: Tree, - outputTargets: string[], - stencilConfigPath: string -): void { - const stencilConfigSource: ts.SourceFile = readTsSourceFile( - host, - stencilConfigPath - ); - - const changes = applyChangesToString( - stencilConfigSource.text, - addOutputTarget(stencilConfigSource, outputTargets.join(',')) - ); - - host.write(stencilConfigPath, changes); -} - -export function addToPlugins( - source: ts.SourceFile, - toInsert: string -): StringChange[] { - const pluginsIdentifier = 'plugins'; - return addCodeIntoArray(source, pluginsIdentifier, toInsert); -} diff --git a/packages/stencil/src/stencil-core-utils/lib/style-plugins.ts b/packages/stencil/src/stencil-core-utils/lib/style-plugins.ts deleted file mode 100644 index 4992c36fa..000000000 --- a/packages/stencil/src/stencil-core-utils/lib/style-plugins.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as ts from 'typescript'; -import { addToPlugins } from './plugins'; -import { applyChangesToString, StringChange, Tree } from '@nx/devkit'; -import { readTsSourceFile, addImport } from '@nxext/core'; - -export enum SupportedStyles { - css = 'css', - scss = 'scss', - styl = 'styl', - less = 'less', - pcss = 'pcss', -} - -export function addStylePlugin( - stencilConfigSource: ts.SourceFile, - style: SupportedStyles -): StringChange[] { - const styleImports = { - [SupportedStyles.css]: [], - [SupportedStyles.scss]: [ - ...addImport(stencilConfigSource, `import { sass } from '@stencil/sass'`), - ...addToPlugins(stencilConfigSource, 'sass()'), - ], - [SupportedStyles.styl]: [ - ...addImport( - stencilConfigSource, - `import { stylus } from '@stencil/stylus'` - ), - ...addToPlugins(stencilConfigSource, 'stylus()'), - ], - [SupportedStyles.less]: [ - ...addImport(stencilConfigSource, `import { less } from '@stencil/less'`), - ...addToPlugins(stencilConfigSource, 'less()'), - ], - [SupportedStyles.pcss]: [ - ...addImport( - stencilConfigSource, - `import { postcss } from '@stencil/postcss'` - ), - ...addImport( - stencilConfigSource, - `import autoprefixer from 'autoprefixer'` - ), - ...addToPlugins( - stencilConfigSource, - ` - postcss({ - plugins: [autoprefixer()] - }) - ` - ), - ], - }; - - return styleImports[style]; -} - -export function addStylePluginToConfig( - host: Tree, - stencilConfigPath: string, - style: SupportedStyles -): void { - const stencilConfigSource: ts.SourceFile = readTsSourceFile( - host, - stencilConfigPath - ); - - const changes = applyChangesToString( - stencilConfigSource.text, - addStylePlugin(stencilConfigSource, style) - ); - - host.write(stencilConfigPath, changes); -} diff --git a/packages/stencil/src/utils/angular-ast-utils.ts b/packages/stencil/src/utils/angular-ast-utils.ts deleted file mode 100644 index 58a00e180..000000000 --- a/packages/stencil/src/utils/angular-ast-utils.ts +++ /dev/null @@ -1,293 +0,0 @@ -/* -Originally from nrwl nx: packages/angular/src/utils/nx-devkit/ast-utils.ts - */ - -import * as ts from 'typescript'; -import { getSourceNodes, insertChange } from '@nx/js'; -import { Tree } from '@nx/devkit'; -import { tsquery } from '@phenomnomnominal/tsquery'; - -function _angularImportsFromNode( - node: ts.ImportDeclaration, - _sourceFile: ts.SourceFile -): { [name: string]: string } { - const ms = node.moduleSpecifier; - let modulePath: string; - switch (ms.kind) { - case ts.SyntaxKind.StringLiteral: - modulePath = (ms as ts.StringLiteral).text; - break; - default: - return {}; - } - - if (!modulePath.startsWith('@angular/')) { - return {}; - } - - if (node.importClause) { - if (node.importClause.name) { - // This is of the form `import Name from 'path'`. Ignore. - return {}; - } else if (node.importClause.namedBindings) { - const nb = node.importClause.namedBindings; - if (nb.kind == ts.SyntaxKind.NamespaceImport) { - // This is of the form `import * as name from 'path'`. Return `name.`. - return { - [`${(nb as ts.NamespaceImport).name.text}.`]: modulePath, - }; - } else { - // This is of the form `import {a,b,c} from 'path'` - const namedImports = nb as ts.NamedImports; - - return namedImports.elements - .map((is: ts.ImportSpecifier) => - is.propertyName ? is.propertyName.text : is.name.text - ) - .reduce((acc: { [name: string]: string }, curr: string) => { - acc[curr] = modulePath; - - return acc; - }, {}); - } - } - - return {}; - } else { - // This is of the form `import 'path';`. Nothing to do. - return {}; - } -} - -export function getDecoratorMetadata( - source: ts.SourceFile, - identifier: string, - module: string -): ts.Node[] { - const angularImports: { [name: string]: string } = tsquery( - source, - 'ImportDeclaration' - ) - .map((node: ts.ImportDeclaration) => _angularImportsFromNode(node, source)) - .reduce( - ( - acc: { [name: string]: string }, - current: { [name: string]: string } - ) => { - for (const key of Object.keys(current)) { - acc[key] = current[key]; - } - - return acc; - }, - {} - ); - - return getSourceNodes(source) - .filter((node) => { - return ( - node.kind == ts.SyntaxKind.Decorator && - (node as ts.Decorator).expression.kind == ts.SyntaxKind.CallExpression - ); - }) - .map((node) => (node as ts.Decorator).expression as ts.CallExpression) - .filter((expr) => { - if (expr.expression.kind == ts.SyntaxKind.Identifier) { - const id = expr.expression as ts.Identifier; - - return ( - id.getFullText(source) == identifier && - angularImports[id.getFullText(source)] === module - ); - } else if ( - expr.expression.kind == ts.SyntaxKind.PropertyAccessExpression - ) { - // This covers foo.NgModule when importing * as foo. - const paExpr = expr.expression as ts.PropertyAccessExpression; - // If the left expression is not an identifier, just give up at that point. - if (paExpr.expression.kind !== ts.SyntaxKind.Identifier) { - return false; - } - - const id = paExpr.name.text; - const moduleId = (paExpr.expression as ts.Identifier).getText(source); - - return id === identifier && angularImports[`${moduleId}.`] === module; - } - - return false; - }) - .filter( - (expr) => - expr.arguments[0] && - expr.arguments[0].kind == ts.SyntaxKind.ObjectLiteralExpression - ) - .map((expr) => expr.arguments[0] as ts.ObjectLiteralExpression); -} - -function _addSymbolToNgModuleMetadata( - host: Tree, - source: ts.SourceFile, - ngModulePath: string, - metadataField: string, - expression: string -): ts.SourceFile { - const nodes = getDecoratorMetadata(source, 'NgModule', '@angular/core'); - let node: any = nodes[0]; // tslint:disable-line:no-any - - // Find the decorator declaration. - if (!node) { - return source; - } - // Get all the children property assignment of object literals. - const matchingProperties: ts.ObjectLiteralElement[] = ( - node as ts.ObjectLiteralExpression - ).properties - .filter((prop) => prop.kind == ts.SyntaxKind.PropertyAssignment) - // Filter out every fields that's not "metadataField". Also handles string literals - // (but not expressions). - .filter((prop: ts.PropertyAssignment) => { - const name = prop.name; - switch (name.kind) { - case ts.SyntaxKind.Identifier: - return (name as ts.Identifier).getText(source) == metadataField; - case ts.SyntaxKind.StringLiteral: - return (name as ts.StringLiteral).text == metadataField; - } - - return false; - }); - - // Get the last node of the array literal. - if (!matchingProperties) { - return source; - } - if (matchingProperties.length == 0) { - // We haven't found the field in the metadata declaration. Insert a new field. - const expr = node as ts.ObjectLiteralExpression; - let position: number; - let toInsert: string; - if (expr.properties.length == 0) { - position = expr.getEnd() - 1; - toInsert = ` ${metadataField}: [${expression}]\n`; - } else { - node = expr.properties[expr.properties.length - 1]; - position = node.getEnd(); - // Get the indentation of the last element, if any. - const text = node.getFullText(source); - if (text.match('^\r?\r?\n')) { - toInsert = `,${ - text.match(/^\r?\n\s+/)[0] - }${metadataField}: [${expression}]`; - } else { - toInsert = `, ${metadataField}: [${expression}]`; - } - } - - return insertChange(host, source, ngModulePath, position, toInsert); - } - - const assignment = matchingProperties[0] as ts.PropertyAssignment; - - // If it's not an array, nothing we can do really. - if (assignment.initializer.kind !== ts.SyntaxKind.ArrayLiteralExpression) { - return source; - } - - const arrLiteral = assignment.initializer as ts.ArrayLiteralExpression; - if (arrLiteral.elements.length == 0) { - // Forward the property. - node = arrLiteral; - } else { - node = arrLiteral.elements; - } - - if (!node) { - console.log( - 'No app module found. Please add your new class to your component.' - ); - - return source; - } - - const isArray = Array.isArray(node); - if (isArray) { - // eslint-disable-next-line @typescript-eslint/ban-types - const nodeArray = node as {} as Array; - const symbolsArray = nodeArray.map((node) => node.getText()); - if (symbolsArray.includes(expression)) { - return source; - } - - node = node[node.length - 1]; - } - - let toInsert: string; - let position = node.getEnd(); - if (!isArray && node.kind == ts.SyntaxKind.ObjectLiteralExpression) { - // We haven't found the field in the metadata declaration. Insert a new - // field. - const expr = node as ts.ObjectLiteralExpression; - if (expr.properties.length == 0) { - position = expr.getEnd() - 1; - toInsert = ` ${metadataField}: [${expression}]\n`; - } else { - node = expr.properties[expr.properties.length - 1]; - position = node.getEnd(); - // Get the indentation of the last element, if any. - const text = node.getFullText(source); - if (text.match('^\r?\r?\n')) { - toInsert = `,${ - text.match(/^\r?\n\s+/)[0] - }${metadataField}: [${expression}]`; - } else { - toInsert = `, ${metadataField}: [${expression}]`; - } - } - } else if (!isArray && node.kind == ts.SyntaxKind.ArrayLiteralExpression) { - // We found the field but it's empty. Insert it just before the `]`. - position--; - toInsert = `${expression}`; - } else { - // Get the indentation of the last element, if any. - const text = node.getFullText(source); - if (text.match(/^\r?\n/)) { - toInsert = `,${text.match(/^\r?\n(\r?)\s+/)[0]}${expression}`; - } else { - toInsert = `, ${expression}`; - } - } - return insertChange(host, source, ngModulePath, position, toInsert); -} - -export function addExportToModule( - host: Tree, - source: ts.SourceFile, - modulePath: string, - symbolName: string -): ts.SourceFile { - return _addSymbolToNgModuleMetadata( - host, - source, - modulePath, - 'exports', - symbolName - ); -} - -// Add a function who calculates pi - -export function addDeclarationToModule( - host: Tree, - source: ts.SourceFile, - modulePath: string, - symbolName: string -): ts.SourceFile { - return _addSymbolToNgModuleMetadata( - host, - source, - modulePath, - 'declarations', - symbolName - ); -} diff --git a/packages/stencil/src/utils/ast-utils.ts b/packages/stencil/src/utils/ast-utils.ts deleted file mode 100644 index 0ba857848..000000000 --- a/packages/stencil/src/utils/ast-utils.ts +++ /dev/null @@ -1,40 +0,0 @@ -import * as ts from 'typescript'; -import { ChangeType, StringChange, Tree } from '@nx/devkit'; -import { tsquery } from '@phenomnomnominal/tsquery'; - -export function readTsSourceFile(host: Tree, path: string): ts.SourceFile { - if (!host.exists(path)) { - throw new Error(`Typescript file not readable (${path}).`); - } else { - const contentBuffer = host.read(path); - return tsquery.ast(contentBuffer.toString()); - } -} - -export function addImport( - source: ts.SourceFile, - statement: string -): StringChange[] { - return [addAfterLastImport(source, statement)]; -} - -export function addAfterLastImport( - source: ts.SourceFile, - statement: string -): StringChange { - const allImports = tsquery(source, 'ImportDeclaration'); - if (allImports.length > 0) { - const lastImport = allImports[allImports.length - 1]; - return { - type: ChangeType.Insert, - index: lastImport.end + 1, - text: `\n${statement}\n`, - }; - } else { - return { - type: ChangeType.Insert, - index: 0, - text: `\n${statement}\n`, - }; - } -} diff --git a/packages/stencil/src/utils/fileutils.ts b/packages/stencil/src/utils/fileutils.ts deleted file mode 100644 index c5bd0d69e..000000000 --- a/packages/stencil/src/utils/fileutils.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as path from 'path'; -import * as fs from 'fs'; - -export function getRelativePath(from: string, to: string) { - return path.relative(from, to); -} - -export function getDistDir(rootDir: string): string { - return `dist/${rootDir}`; -} - -export function deleteFile(path: string) { - try { - fs.unlinkSync(path); - } catch (err) { - // empty - } -} diff --git a/packages/stencil/src/utils/insert-statement.ts b/packages/stencil/src/utils/insert-statement.ts deleted file mode 100644 index 32f4baae5..000000000 --- a/packages/stencil/src/utils/insert-statement.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { applyChangesToString, ChangeType, Tree } from '@nx/devkit'; -import { - createSourceFile, - isImportDeclaration, - ScriptTarget, -} from 'typescript'; - -/** - * Insert a statement after the last import statement in a file. - * - * For origin of this function, see link below. - * - * @see https://github.com/nrwl/nx/blob/master/packages/workspace/src/generators/utils/insert-statement.ts - */ -export function insertStatement(tree: Tree, path: string, statement: string) { - const contents = tree.read(path, 'utf-8'); - - const sourceFile = createSourceFile(path, contents, ScriptTarget.ESNext); - - const importStatements = sourceFile.statements.filter(isImportDeclaration); - const index = - importStatements.length > 0 - ? importStatements[importStatements.length - 1].getEnd() - : 0; - - if (importStatements.length > 0) { - statement = `\n${statement}`; - } - - const newContents = applyChangesToString(contents, [ - { - type: ChangeType.Insert, - index, - text: statement, - }, - ]); - - tree.write(path, newContents); -} diff --git a/packages/stencil/src/utils/lint.ts b/packages/stencil/src/utils/lint.ts deleted file mode 100644 index 33cb43c8c..000000000 --- a/packages/stencil/src/utils/lint.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - eslintPluginImportVersion, - eslintPluginStencilVersion, -} from './versions'; -import { offsetFromRoot } from '@nx/devkit'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - 'eslint-plugin-import': eslintPluginImportVersion, - '@stencil/eslint-plugin': eslintPluginStencilVersion, - }, -}; - -export const createStencilEslintJson = (projectRoot: string) => ({ - extends: [ - 'plugin:@stencil/recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - `${offsetFromRoot(projectRoot)}.eslintrc.json`, - ], - ignorePatterns: ['!**/*'], - overrides: [ - { - files: ['*.ts', '*.tsx'], - /** - * Having an empty rules object present makes it more obvious to the user where they would - * extend things from if they needed to - */ - rules: {}, - }, - { - files: ['*.ts', '*.tsx'], - rules: {}, - }, - { - files: ['*.js', '*.jsx'], - rules: {}, - }, - ], -}); diff --git a/packages/stencil/src/utils/normalize-path.ts b/packages/stencil/src/utils/normalize-path.ts deleted file mode 100644 index 346237113..000000000 --- a/packages/stencil/src/utils/normalize-path.ts +++ /dev/null @@ -1,178 +0,0 @@ -/** - * Originally from the StencilJS codebase (packages\stencil\src\utils\normalize-path.ts) copied, to create the same - * kind of path strings like the originally config - */ - -/** - * Convert Windows backslash paths to slash paths: foo\\bar âž” foo/bar - * Forward-slash paths can be used in Windows as long as they're not - * extended-length paths and don't contain any non-ascii characters. - * This was created since the path methods in Node.js outputs \\ paths on Windows. - */ -export const normalizePath = (path: string) => { - if (typeof path !== 'string') { - throw new Error(`invalid path to normalize`); - } - path = normalizeSlashes(path.trim()); - - const components = pathComponents(path, getRootLength(path)); - const reducedComponents = reducePathComponents(components); - const rootPart = reducedComponents[0]; - const secondPart = reducedComponents[1]; - const normalized = rootPart + reducedComponents.slice(1).join('/'); - - if (normalized === '') { - return '.'; - } - if ( - rootPart === '' && - secondPart && - path.includes('/') && - !secondPart.startsWith('.') && - !secondPart.startsWith('@') - ) { - return './' + normalized; - } - return normalized; -}; - -const normalizeSlashes = (path: string) => path.replace(backslashRegExp, '/'); - -const altDirectorySeparator = '\\'; -const urlSchemeSeparator = '://'; -const backslashRegExp = /\\/g; - -const reducePathComponents = (components: readonly string[]) => { - if (!Array.isArray(components) || components.length === 0) { - return []; - } - const reduced = [components[0]]; - for (let i = 1; i < components.length; i++) { - const component = components[i]; - if (!component) continue; - if (component === '.') continue; - if (component === '..') { - if (reduced.length > 1) { - if (reduced[reduced.length - 1] !== '..') { - reduced.pop(); - continue; - } - } else if (reduced[0]) continue; - } - reduced.push(component); - } - return reduced; -}; - -const getRootLength = (path: string) => { - const rootLength = getEncodedRootLength(path); - return rootLength < 0 ? ~rootLength : rootLength; -}; - -const getEncodedRootLength = (path: string): number => { - if (!path) return 0; - const ch0 = path.charCodeAt(0); - - // POSIX or UNC - if (ch0 === CharacterCodes.slash || ch0 === CharacterCodes.backslash) { - if (path.charCodeAt(1) !== ch0) return 1; // POSIX: "/" (or non-normalized "\") - - const p1 = path.indexOf( - ch0 === CharacterCodes.slash ? '/' : altDirectorySeparator, - 2 - ); - if (p1 < 0) return path.length; // UNC: "//server" or "\\server" - - return p1 + 1; // UNC: "//server/" or "\\server\" - } - - // DOS - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === CharacterCodes.colon) { - const ch2 = path.charCodeAt(2); - if (ch2 === CharacterCodes.slash || ch2 === CharacterCodes.backslash) - return 3; // DOS: "c:/" or "c:\" - if (path.length === 2) return 2; // DOS: "c:" (but not "c:d") - } - - // URL - const schemeEnd = path.indexOf(urlSchemeSeparator); - if (schemeEnd !== -1) { - const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path.indexOf('/', authorityStart); - if (authorityEnd !== -1) { - // URL: "file:///", "file://server/", "file://server/path" - // For local "file" URLs, include the leading DOS volume (if present). - // Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a - // special case interpreted as "the machine from which the URL is being interpreted". - const scheme = path.slice(0, schemeEnd); - const authority = path.slice(authorityStart, authorityEnd); - if ( - scheme === 'file' && - (authority === '' || authority === 'localhost') && - isVolumeCharacter(path.charCodeAt(authorityEnd + 1)) - ) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd( - path, - authorityEnd + 2 - ); - if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === CharacterCodes.slash) { - // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" - return ~(volumeSeparatorEnd + 1); - } - if (volumeSeparatorEnd === path.length) { - // URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a" - // but not "file:///c:d" or "file:///c%3ad" - return ~volumeSeparatorEnd; - } - } - } - return ~(authorityEnd + 1); // URL: "file://server/", "http://server/" - } - return ~path.length; // URL: "file://server", "http://server" - } - - // relative - return 0; -}; - -const isVolumeCharacter = (charCode: number) => - (charCode >= CharacterCodes.a && charCode <= CharacterCodes.z) || - (charCode >= CharacterCodes.A && charCode <= CharacterCodes.Z); - -const getFileUrlVolumeSeparatorEnd = (url: string, start: number) => { - const ch0 = url.charCodeAt(start); - if (ch0 === CharacterCodes.colon) return start + 1; - if ( - ch0 === CharacterCodes.percent && - url.charCodeAt(start + 1) === CharacterCodes._3 - ) { - const ch2 = url.charCodeAt(start + 2); - if (ch2 === CharacterCodes.a || ch2 === CharacterCodes.A) return start + 3; - } - return -1; -}; - -const pathComponents = (path: string, rootLength: number) => { - const root = path.substring(0, rootLength); - const rest = path.substring(rootLength).split('/'); - const restLen = rest.length; - if (restLen > 0 && !rest[restLen - 1]) { - rest.pop(); - } - return [root, ...rest]; -}; - -const enum CharacterCodes { - a = 0x61, - A = 0x41, - z = 0x7a, - Z = 0x5a, - _3 = 0x33, - - backslash = 0x5c, // \ - colon = 0x3a, // : - dot = 0x2e, // . - percent = 0x25, // % - slash = 0x2f, // / -} diff --git a/packages/stencil/src/utils/targets.ts b/packages/stencil/src/utils/targets.ts deleted file mode 100644 index efdf48791..000000000 --- a/packages/stencil/src/utils/targets.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { TargetConfiguration } from '@nx/devkit'; -import { LibrarySchema } from '../generators/library/schema'; -import { PWASchema } from '../generators/ionic-pwa/schema'; -import { ApplicationSchema } from '../generators/application/schema'; -import { MakeLibBuildableSchema } from '../generators/make-lib-buildable/schema'; -import { ProjectType } from '../utils/typings'; - -export function getDefaultTargets( - projectType: ProjectType, - options: - | LibrarySchema - | PWASchema - | ApplicationSchema - | MakeLibBuildableSchema -): { [key: string]: TargetConfiguration } { - return { - build: getBuildTarget(projectType, options), - serve: getServeTarget(projectType, options), - test: getTestTarget(projectType, options), - e2e: getE2eTarget(projectType, options), - lint: getLintTarget(projectType, options.projectRoot), - }; -} - -export function getBuildTarget( - projectType: ProjectType, - options: - | LibrarySchema - | PWASchema - | ApplicationSchema - | MakeLibBuildableSchema -): TargetConfiguration { - const tsconfigAddition = projectType === 'application' ? 'app' : 'lib'; - return { - executor: '@nxext/stencil:build', - outputs: ['{options.outputPath}'], - options: { - projectType, - tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`, - configPath: `${options.projectRoot}/stencil.config.ts`, - outputPath: `dist/${options.projectRoot}`, - }, - configurations: { - production: { - dev: false, - prod: true, - }, - }, - }; -} - -export function getTestTarget( - projectType: ProjectType, - options: - | LibrarySchema - | PWASchema - | ApplicationSchema - | MakeLibBuildableSchema -): TargetConfiguration { - const tsconfigAddition = projectType === 'application' ? 'app' : 'lib'; - return { - executor: '@nxext/stencil:test', - outputs: ['{options.outputPath}'], - options: { - projectType, - tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`, - configPath: `${options.projectRoot}/stencil.config.ts`, - outputPath: `dist/${options.projectRoot}`, - }, - }; -} - -export function getE2eTarget( - projectType: ProjectType, - options: - | LibrarySchema - | PWASchema - | ApplicationSchema - | MakeLibBuildableSchema -): TargetConfiguration { - const tsconfigAddition = projectType === 'application' ? 'app' : 'lib'; - return { - executor: '@nxext/stencil:e2e', - outputs: ['{options.outputPath}'], - options: { - projectType, - tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`, - configPath: `${options.projectRoot}/stencil.config.ts`, - outputPath: `dist/${options.projectRoot}`, - }, - }; -} - -export function getServeTarget( - projectType: ProjectType, - options: - | LibrarySchema - | PWASchema - | ApplicationSchema - | MakeLibBuildableSchema -): TargetConfiguration { - const tsconfigAddition = projectType === 'application' ? 'app' : 'lib'; - return { - executor: `@nxext/stencil:serve`, - outputs: ['{options.outputPath}'], - options: { - projectType, - tsConfig: `${options.projectRoot}/tsconfig.${tsconfigAddition}.json`, - configPath: `${options.projectRoot}/stencil.config.ts`, - outputPath: `dist/${options.projectRoot}`, - }, - }; -} - -export function getLintTarget( - projectType: ProjectType, - projectRoot: string -): TargetConfiguration { - return { - executor: '@nx/linter:eslint', - outputs: ['{options.outputFile}'], - options: { - lintFilePatterns: `${projectRoot}/**/*.{ts,tsx}`, - }, - }; -} diff --git a/packages/stencil/src/utils/testing.ts b/packages/stencil/src/utils/testing.ts deleted file mode 100644 index 079a6a350..000000000 --- a/packages/stencil/src/utils/testing.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { SupportedStyles } from '../stencil-core-utils'; -import { - readWorkspaceConfiguration, - Tree, - updateJson, - updateWorkspaceConfiguration, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from '../generators/library/generator'; -import { ProjectType } from './typings'; - -/** - * The value of `npmScope` in an nx.json file - */ -export const testNpmScope = 'test-workspace'; - -export async function createTestUILib( - libName: string, - style: SupportedStyles = SupportedStyles.css, - buildable = true -): Promise { - const host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(host, '/package.json', (json) => { - json.devDependencies = { - '@nx/workspace': '15.7.0', - }; - return json; - }); - const workspaceConfiguration = readWorkspaceConfiguration(host); - workspaceConfiguration.npmScope = testNpmScope; - updateWorkspaceConfiguration(host, workspaceConfiguration); - - await libraryGenerator(host, { - name: libName, - style: style, - buildable, - publishable: false, - }); - - return host; -} - -export function fileListForAppType( - projectName: string, - style: string, - projectType: ProjectType, - subDirectory?: string -): string[] { - if (!subDirectory) { - if (projectType == 'application') { - return [ - `apps/${projectName}/src/global/app.${style}`, - `apps/${projectName}/src/global/app.ts`, - `apps/${projectName}/stencil.config.ts`, - `apps/${projectName}/tsconfig.json`, - `apps/${projectName}/src/components/app-home/app-home.e2e.ts`, - `apps/${projectName}/src/components/app-home/app-home.tsx`, - `apps/${projectName}/src/components/app-home/app-home.${style}`, - `apps/${projectName}/src/components/app-profile/app-profile.e2e.ts`, - `apps/${projectName}/src/components/app-profile/app-profile.tsx`, - `apps/${projectName}/src/components/app-profile/app-profile.spec.ts`, - `apps/${projectName}/src/components/app-profile/app-profile.${style}`, - `apps/${projectName}/src/components/app-root/app-root.e2e.ts`, - `apps/${projectName}/src/components/app-root/app-root.tsx`, - `apps/${projectName}/src/components/app-root/app-root.${style}`, - ]; - } - - if (projectType == 'library') { - return [ - `libs/${projectName}/stencil.config.ts`, - `libs/${projectName}/tsconfig.json`, - `libs/${projectName}/src/components/my-component/my-component.e2e.ts`, - `libs/${projectName}/src/components/my-component/my-component.spec.ts`, - `libs/${projectName}/src/components/my-component/my-component.tsx`, - `libs/${projectName}/src/components/my-component/my-component.${style}`, - `libs/${projectName}/src/utils/utils.spec.ts`, - `libs/${projectName}/src/utils/utils.ts`, - ]; - } - } else { - if (projectType == 'application') { - return [ - `apps/${subDirectory}/${projectName}/src/global/app.${style}`, - `apps/${subDirectory}/${projectName}/src/global/app.ts`, - `apps/${subDirectory}/${projectName}/stencil.config.ts`, - `apps/${subDirectory}/${projectName}/tsconfig.json`, - `apps/${subDirectory}/${projectName}/src/components/app-home/app-home.e2e.ts`, - `apps/${subDirectory}/${projectName}/src/components/app-home/app-home.tsx`, - `apps/${subDirectory}/${projectName}/src/components/app-home/app-home.${style}`, - `apps/${subDirectory}/${projectName}/src/components/app-profile/app-profile.e2e.ts`, - `apps/${subDirectory}/${projectName}/src/components/app-profile/app-profile.tsx`, - `apps/${subDirectory}/${projectName}/src/components/app-profile/app-profile.spec.ts`, - `apps/${subDirectory}/${projectName}/src/components/app-profile/app-profile.${style}`, - `apps/${subDirectory}/${projectName}/src/components/app-root/app-root.e2e.ts`, - `apps/${subDirectory}/${projectName}/src/components/app-root/app-root.tsx`, - `apps/${subDirectory}/${projectName}/src/components/app-root/app-root.${style}`, - ]; - } - - if (projectType == 'library') { - return [ - `libs/${subDirectory}/${projectName}/stencil.config.ts`, - `libs/${subDirectory}/${projectName}/tsconfig.json`, - `libs/${subDirectory}/${projectName}/src/components/my-component/my-component.e2e.ts`, - `libs/${subDirectory}/${projectName}/src/components/my-component/my-component.spec.ts`, - `libs/${subDirectory}/${projectName}/src/components/my-component/my-component.tsx`, - `libs/${subDirectory}/${projectName}/src/components/my-component/my-component.${style}`, - `libs/${subDirectory}/${projectName}/src/utils/utils.spec.ts`, - `libs/${subDirectory}/${projectName}/src/utils/utils.ts`, - ]; - } - } -} diff --git a/packages/stencil/src/utils/typings.ts b/packages/stencil/src/utils/typings.ts deleted file mode 100644 index c1ec974f7..000000000 --- a/packages/stencil/src/utils/typings.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { - autoprefixerTypesVersion, - autoprefixerVersion, - ionicVersion, - puppeteer, - STENCIL_STYLE_PLUGIN_VERSION, - stencilRouterVersion, - stencilVersion, -} from './versions'; -import { SupportedStyles } from '../stencil-core-utils'; - -export enum AppType { - application = 'application', - library = 'library', - pwa = 'pwa', -} - -export type ProjectType = 'application' | 'library'; - -export interface PackageDependencies { - dependencies: DependencyEntries; - devDependencies: DependencyEntries; -} - -export interface DependencyEntries { - [module: string]: string; -} - -const stencilDependencies = { - '@stencil/core': stencilVersion, -}; -const e2ePuppeteerDependencies = { - puppeteer: puppeteer, -}; - -export const PROJECT_TYPE_DEPENDENCIES: { - [AppType: string]: PackageDependencies; -} = { - [AppType.application]: { - dependencies: {}, - devDependencies: { - ...stencilDependencies, - '@stencil/router': stencilRouterVersion, - }, - }, - [AppType.pwa]: { - dependencies: {}, - devDependencies: { - ...stencilDependencies, - '@ionic/core': ionicVersion, - }, - }, - [AppType.library]: { - dependencies: {}, - devDependencies: { - ...stencilDependencies, - }, - }, - init: { - dependencies: {}, - devDependencies: { - ...stencilDependencies, - }, - }, - puppeteer: { - dependencies: {}, - devDependencies: { - ...e2ePuppeteerDependencies, - }, - }, -}; - -export const STYLE_PLUGIN_DEPENDENCIES: { - [style: string]: PackageDependencies; -} = { - [SupportedStyles.css]: { - dependencies: {}, - devDependencies: {}, - }, - [SupportedStyles.less]: { - dependencies: {}, - devDependencies: { - '@stencil/less': STENCIL_STYLE_PLUGIN_VERSION[SupportedStyles.less], - }, - }, - [SupportedStyles.scss]: { - dependencies: {}, - devDependencies: { - '@stencil/sass': STENCIL_STYLE_PLUGIN_VERSION[SupportedStyles.scss], - }, - }, - [SupportedStyles.styl]: { - dependencies: {}, - devDependencies: { - '@stencil/stylus': STENCIL_STYLE_PLUGIN_VERSION[SupportedStyles.styl], - }, - }, - [SupportedStyles.pcss]: { - dependencies: {}, - devDependencies: { - '@stencil/postcss': STENCIL_STYLE_PLUGIN_VERSION[SupportedStyles.pcss], - autoprefixer: autoprefixerVersion, - '@types/autoprefixer': autoprefixerTypesVersion, - }, - }, -}; diff --git a/packages/stencil/src/utils/utillities.ts b/packages/stencil/src/utils/utillities.ts deleted file mode 100644 index a274b7cd5..000000000 --- a/packages/stencil/src/utils/utillities.ts +++ /dev/null @@ -1,60 +0,0 @@ -import ignore from 'ignore'; -import { readJson, Tree } from '@nx/devkit'; -import type { Diagnostic } from '@stencil/core/compiler'; -import { SupportedStyles } from '../stencil-core-utils'; - -export function calculateStyle( - style: SupportedStyles | undefined -): SupportedStyles { - const styleDefault = SupportedStyles.css; - - if (style == undefined) { - return styleDefault; - } - - return /^(css|scss|less|styl|pcss)$/.test(style) ? style : styleDefault; -} - -export function addToGitignore(host: Tree, path: string) { - if (!host.exists('.gitignore')) { - return; - } - - const ig = ignore(); - ig.add(host.read('.gitignore').toString('utf-8')); - - if (!ig.ignores(path)) { - const gitignore = host.read('.gitignore'); - if (gitignore) { - const content = `${gitignore.toString('utf-8').trimRight()}\n${path}\n`; - host.write('.gitignore', content); - } - } -} - -export function isBuildableStencilProject(project: any): boolean { - const target = - project.targets && project.targets['build'] ? project.targets['build'] : {}; - return target && target.executor === `@nxext/stencil:build`; -} - -export const hasError = (diagnostics: Diagnostic[]): boolean => { - if (diagnostics == null || diagnostics.length === 0) { - return false; - } - return diagnostics.some((d) => d.level === 'error' && d.type !== 'runtime'); -}; - -export function readNxVersion(host: Tree): string { - const packageJson = readJson(host, 'package.json'); - - const nxVersion = packageJson.devDependencies['@nx/workspace'] - ? packageJson.devDependencies['@nx/workspace'] - : packageJson.dependencies['@nx/workspace']; - - if (!nxVersion) { - throw new Error('@nx/workspace is not a dependency.'); - } - - return nxVersion; -} diff --git a/packages/stencil/src/utils/versions.ts b/packages/stencil/src/utils/versions.ts deleted file mode 100644 index 6db11c299..000000000 --- a/packages/stencil/src/utils/versions.ts +++ /dev/null @@ -1,31 +0,0 @@ -export const stencilVersion = '^3.4.0'; -export const stencilRouterVersion = '^1.0.1'; -export const ionicVersion = '^6.4.1'; - -export const autoprefixerVersion = '^9.7.6'; -export const autoprefixerTypesVersion = '^9.7.2'; - -export const puppeteer = '^15.5.0'; - -export const eslintPluginImportVersion = '2.22.1'; -export const eslintPluginStencilVersion = '0.3.1'; - -export const STENCIL_OUTPUTTARGET_VERSION: { - [style: string]: string; -} = { - react: '^0.5.3', - angular: '^0.7.1', - vue: '^0.8.6', - svelte: '^0.0.3', -}; - -export const STENCIL_STYLE_PLUGIN_VERSION: { - [style: string]: string; -} = { - less: '1.0.0', - scss: '3.0.4', - pcss: '2.1.0', - styl: '1.0.1', -}; - -export const nxextSvelteVersion = '^16.4.0'; diff --git a/packages/stencil/tsconfig.json b/packages/stencil/tsconfig.json deleted file mode 100644 index 58bd2c97a..000000000 --- a/packages/stencil/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "types": ["node", "jest"] - }, - "include": [], - "files": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/stencil/tsconfig.lib.json b/packages/stencil/tsconfig.lib.json deleted file mode 100644 index 3ce6be94e..000000000 --- a/packages/stencil/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "jest.config.ts"], - "include": ["**/*.ts"] -} diff --git a/packages/stencil/tsconfig.spec.json b/packages/stencil/tsconfig.spec.json deleted file mode 100644 index 831ab6481..000000000 --- a/packages/stencil/tsconfig.spec.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts", - "jest.config.ts" - ] -} diff --git a/packages/svelte/README.md b/packages/svelte/README.md deleted file mode 100644 index 61b9bb94d..000000000 --- a/packages/svelte/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# @nxext/svelte - -[![License](https://img.shields.io/npm/l/@nxext/svelte.svg?style=flat-square)]() -[![nxext windows CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20windows%20CI/badge.svg)]() -[![nxext macos CI](https://github.com/DominikPieper/nx-extensions/workflows/nxext%20macos%20CI/badge.svg)]() - -## Getting Started - -Add this plugin to an Nx workspace: - -``` -yarn add --dev @nxext/svelte -``` - -or - -``` -npm install @nxext/svelte --save-dev -``` - -Generate your project: - -``` -nx g @nxext/svelte:app my-app -``` - -Or a library with: - -``` -nx g @nxext/svelte:library my-lib -``` - -#Use your project - -- Run `nx build my-app` to build the app -- Run `nx test my-app` to test the app -- Run `nx e2e my-app` to run the e2e tests - -#Documentation - -The full docs are found [here](https://nxext.dev/docs/svelte/overview) diff --git a/packages/svelte/eslint.config.js b/packages/svelte/eslint.config.js deleted file mode 100644 index c96280a92..000000000 --- a/packages/svelte/eslint.config.js +++ /dev/null @@ -1,37 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { rules: {} }, - { - files: [ - 'packages/svelte/**/*.ts', - 'packages/svelte/**/*.tsx', - 'packages/svelte/**/*.js', - 'packages/svelte/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/svelte/**/*.ts', 'packages/svelte/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/svelte/**/*.js', 'packages/svelte/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: [ - 'packages/svelte/package.json', - 'packages/svelte/generators.json', - 'packages/svelte/migrations.json', - ], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/svelte/generators.json b/packages/svelte/generators.json deleted file mode 100644 index f3bd02bbc..000000000 --- a/packages/svelte/generators.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "svelte", - "version": "0.1", - "generators": { - "application": { - "factory": "./src/generators/application/application", - "schema": "./src/generators/application/schema.json", - "description": "Svelte application schematic", - "aliases": ["app"] - }, - "library": { - "factory": "./src/generators/library/library", - "schema": "./src/generators/library/schema.json", - "description": "Svelte library schematic", - "aliases": ["lib"] - }, - "component": { - "factory": "./src/generators/component/component", - "schema": "./src/generators/component/schema.json", - "description": "Add component", - "aliases": ["c"] - }, - "storybook-configuration": { - "factory": "./src/generators/storybook-configuration/configuration", - "schema": "./src/generators/storybook-configuration/schema.json", - "description": "storybook-configuration generator" - }, - "init": { - "factory": "./src/generators/init/init", - "schema": "./src/generators/init/schema.json", - "description": "init schematic", - "hidden": true - } - } -} diff --git a/packages/svelte/jest.config.ts b/packages/svelte/jest.config.ts deleted file mode 100644 index 59665d696..000000000 --- a/packages/svelte/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable */ -export default { - globals: {}, - transform: { - '^.+\\.[tj]sx?$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/packages/svelte', - displayName: 'svelte', - testEnvironment: 'node', - preset: '../../jest.preset.js', -}; diff --git a/packages/svelte/package.json b/packages/svelte/package.json deleted file mode 100644 index 915e3880d..000000000 --- a/packages/svelte/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "@nxext/svelte", - "version": "16.80", - "license": "MIT", - "author": "Dominik Pieper", - "description": "Nx plugin for Svelte", - "homepage": "https://nxext.dev/", - "keywords": [ - "nx", - "nx-plugin", - "svelte", - "pwa", - "web components" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/svelte" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "publishConfig": { - "access": "public" - }, - "main": "./src/index.js", - "typings": "./src/index.d.ts", - "schematics": "./generators.json", - "peerDependencies": { - "@nx/jest": "^16.9.1", - "@nx/vite": "^16.9.1", - "@nx/js": "^16.9.1", - "@nx/linter": "^16.9.1", - "@nx/storybook": "^16.9.1", - "@nx/cypress": "^16.9.1", - "typescript": "5.1.6", - "nx": "^16.9.1" - }, - "dependencies": { - "@nx/devkit": "^16.9.1", - "tslib": "^2.3.0" - } -} diff --git a/packages/svelte/project.json b/packages/svelte/project.json deleted file mode 100644 index 14dce2abe..000000000 --- a/packages/svelte/project.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "svelte", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/svelte/src", - "projectType": "library", - "generators": {}, - "targets": { - "lint": { - "executor": "@nx/linter:eslint", - "options": { - "lintFilePatterns": [ - "packages/svelte/**/*.ts", - "packages/svelte/**/*.spec.ts", - "packages/svelte/**/*.spec.tsx", - "packages/svelte/**/*.spec.js", - "packages/svelte/**/*.spec.jsx", - "packages/svelte/**/*.d.ts", - "packages/svelte/generators.json", - "packages/svelte/package.json", - "packages/svelte/project.json", - "packages/svelte/migrations.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "options": { - "jestConfig": "packages/svelte/jest.config.ts", - "passWithNoTests": true - }, - "outputs": ["{workspaceRoot}/coverage/packages/svelte"] - }, - "build": { - "executor": "@nx/js:tsc", - "options": { - "outputPath": "dist/packages/svelte", - "tsConfig": "packages/svelte/tsconfig.lib.json", - "packageJson": "packages/svelte/package.json", - "main": "packages/svelte/src/index.ts", - "assets": [ - "packages/svelte/*.md", - { - "input": "./packages/svelte/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/svelte/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/svelte", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/svelte", - "glob": "builders.json", - "output": "." - }, - { - "input": "./packages/svelte", - "glob": "migrations.json", - "output": "." - } - ] - }, - "outputs": ["{options.outputPath}"], - "dependsOn": [ - { - "target": "build", - "dependencies": true - } - ] - }, - "publish": { - "command": "node tools/scripts/publish.mjs svelte {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/svelte/src/generators/application/application.spec.ts b/packages/svelte/src/generators/application/application.spec.ts deleted file mode 100644 index fde64fd7e..000000000 --- a/packages/svelte/src/generators/application/application.spec.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Schema } from './schema'; -import { Linter } from '@nx/linter'; -import applicationGenerator from './application'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { readJson } from '@nx/devkit'; - -describe('svelte app generator', () => { - let tree; - const options: Schema = { - name: 'my-app', - linter: Linter.EsLint, - unitTestRunner: 'jest', - e2eTestRunner: 'cypress', - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - describe('Vite bundle', () => { - it('should add Svelte dependencies', async () => { - await applicationGenerator(tree, options); - const packageJson = readJson(tree, 'package.json'); - - expect(packageJson.devDependencies['svelte']).toBeDefined(); - expect(packageJson.devDependencies['svelte-preprocess']).toBeDefined(); - expect(packageJson.devDependencies['svelte-jester']).toBeDefined(); - }); - - it('should add dependencies for vite', async () => { - await applicationGenerator(tree, options); - const packageJson = readJson(tree, 'package.json'); - - expect( - packageJson.devDependencies['@sveltejs/vite-plugin-svelte'] - ).toBeDefined(); - }); - - it('should add Svelte project files', async () => { - await applicationGenerator(tree, options); - - expect( - tree.exists(`apps/${options.name}/svelte.config.cjs`) - ).toBeTruthy(); - expect( - tree.exists(`apps/${options.name}/tsconfig.app.json`) - ).toBeTruthy(); - expect( - tree.exists(`apps/${options.name}/tsconfig.spec.json`) - ).toBeTruthy(); - expect(tree.exists(`apps/${options.name}/tsconfig.json`)).toBeTruthy(); - expect(tree.exists(`apps/${options.name}/.eslintrc.json`)).toBeFalsy(); - expect(tree.exists(`apps/${options.name}/.eslintrc.js`)).toBeTruthy(); - }); - - it('should add vite specific files', async () => { - await applicationGenerator(tree, options); - - expect( - tree.exists(`apps/${options.name}/svelte.config.cjs`) - ).toBeTruthy(); - }); - - it('should add vite types to tsconfigs', async () => { - await applicationGenerator(tree, { - ...options, - unitTestRunner: 'vitest', - }); - const tsconfigApp = readJson( - tree, - `apps/${options.name}/tsconfig.app.json` - ); - expect(tsconfigApp.compilerOptions.types).toEqual([ - 'svelte', - 'node', - 'vite/client', - ]); - const tsconfigSpec = readJson( - tree, - `apps/${options.name}/tsconfig.spec.json` - ); - expect(tsconfigSpec.compilerOptions.types).toEqual([ - 'vitest/globals', - 'vitest/importMeta', - 'vite/client', - 'node', - 'vitest', - ]); - }); - }); -}); diff --git a/packages/svelte/src/generators/application/application.ts b/packages/svelte/src/generators/application/application.ts deleted file mode 100644 index a68db0a4c..000000000 --- a/packages/svelte/src/generators/application/application.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { - convertNxGenerator, - formatFiles, - getWorkspaceLayout, - joinPathFragments, - names, - Tree, - runTasksInSerial, - GeneratorCallback, -} from '@nx/devkit'; -import { NormalizedSchema, Schema } from './schema'; -import { addProject } from './lib/add-project'; -import { initGenerator } from '../init/init'; -import { addLinting } from './lib/add-linting'; -import { addCypress } from './lib/add-cypress'; -import { addJest } from './lib/add-jest'; -import { updateJestConfig } from './lib/update-jest-config'; -import { addVite } from './lib/add-vite'; -import { updateViteConfig } from './lib/update-vite-config'; -import { createApplicationFiles } from './lib/create-project-files'; -import { normalizeOptions } from './lib/normalize-options'; - -export async function applicationGenerator( - host: Tree, - schema: Schema -): Promise { - return await applicationGeneratorInternal(host, { - projectNameAndRootFormat: 'derived', - ...schema, - }); -} - -export async function applicationGeneratorInternal(host: Tree, schema: Schema) { - const options = await normalizeOptions(host, schema); - - const initTask = await initGenerator(host, { ...options, skipFormat: true }); - - addProject(host, options); - await createApplicationFiles(host, options); - - const viteTask = await addVite(host, options); - const lintTask = await addLinting(host, options); - const jestTask = await addJest(host, options); - const cypressTask = await addCypress(host, options); - - updateJestConfig(host, options); - updateViteConfig(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, viteTask, lintTask, jestTask, cypressTask); -} - -export default applicationGenerator; -export const applicationSchematic = convertNxGenerator(applicationGenerator); diff --git a/packages/svelte/src/generators/application/files/eslintrc.js.template b/packages/svelte/src/generators/application/files/eslintrc.js.template deleted file mode 100644 index c2e1f10d5..000000000 --- a/packages/svelte/src/generators/application/files/eslintrc.js.template +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["svelte3", "@typescript-eslint"], - "extends": ["<%= offsetFromRoot %>.eslintrc.json"], - "ignorePatterns": ["!**/*", "vite.config.ts"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.svelte"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.svelte"], - "processor": "svelte3/svelte3" - } - ], - "settings": { - 'svelte3/typescript': require('typescript') - } -} diff --git a/packages/svelte/src/generators/application/files/index.html.template b/packages/svelte/src/generators/application/files/index.html.template deleted file mode 100644 index 40fb71324..000000000 --- a/packages/svelte/src/generators/application/files/index.html.template +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - Svelte + TS + Vite App - - -
- - - diff --git a/packages/svelte/src/generators/application/files/package.json.template b/packages/svelte/src/generators/application/files/package.json.template deleted file mode 100644 index fa518765a..000000000 --- a/packages/svelte/src/generators/application/files/package.json.template +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1" -} diff --git a/packages/svelte/src/generators/application/files/public/favicon.png b/packages/svelte/src/generators/application/files/public/favicon.png deleted file mode 100644 index 457e9035d7cc9283865b3a68ff7bffde46f7251c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5450 zcmZu#`)`xi8MYmh*tt1ZC&Y2=+)3hK1G$kKj*}4QO73^(N+84}Ay<;ngteX8NmDo4 zX{xlUQ)#=ct5nvh?Yh!YBvvR4N~xyO(GHOIL-)(n{tJ7ayr*BHZqoDK&Ue1^z2|+O za~$~Y>Xr7khN$qAaGg#U)#$J5g#GU7715?pvDM=;WIp2`Skmbt;wXBI0bARTBA^@V zYP#2CFkps_Z%B|xv<0TsS(me-&&ib$BTSUIP8efkX>wakSq)s9C)YF#I}tO{;F);* z+DZ6f5MUDW_)YPl2VI&Ar|-N(OiIuUGrj@E_kh1Yx0i{h9x}8XKEVVQA+3;zWGKOe zX*_RKi_RPpw-RQZ{y%;X6{ZsB#sQi*UqAGhPeH8?r9;~wU%dep({&75Fk|BP-H_3x z0&R4+b1r2vpY`j6_~ikox6OyECUhQf0312q`%*!79umw zLee0I97nby=O6ur{UoKhIaN2sQLE|zn|k}bzdq$SyvQy+c&B060XrTHk|nI7uj?Rm ziX!p~e86hpBb7{U8~hme6GzyBlb`)s%|Y<>8_oCLh=zt}_?Ev$Sp9!<1 zP5a>%95^atbRGlVl`Q zoY^TmBA`MQfa~x=;Pi|=P=IlR?9jk%Q$BE=dU&FEQ@E8pZwXuH-V_qAT+PJPhTZdf$ZUmyqHZRPaSW9$Z6}aX-pm!!>o3C zr>ay5my$YoKm`N)tLrLPE7_VblB%J_k)%B&1)@{SBrYP+03)XXyas{OkQJBJ;f~~0 z!Ms>O<^KEm%MvL4+h6PzZ>V!ldvLaT&oY9FxnZyS2p5@#Y>`%^bfuw{1+tFCaXUe# z6zj}g>W0-|x5ihb9Y)CQUw?X|j1+Q0DilND0!xtO9QJ)HBa zFMo6OEk|!0;``542FO>z4x>u5%xM^_f<$wncz*ZmpVmW@t7+w_y)Yf5Qhy9fXWw=2 zxDxC3MOIn780JB>C2#{wzY#Ko!pUS!mSu9j+uLC4R;zK$6OcL3YzmMu z%^SA|QY!;1%!rxrBmIW$KLS`IfK?L2%}=ww4=)>;hB~;s0sG~7*m2ldQ+MZp`uGtU zuRRFM>6zP;Lq7ZQq6d*`q`?M1V1>%&m6_M5Dw$*^J(-U^E1q|cGaQOJazci#fGyfd zE*%k&;Df3w>gWDcX)Fuu*cb%piQMK0yn0=4hhh+SYA7es0J3wMpDmJD(_g)(x#D!O zGpvZn{q8doFbj2Z;q}ePsKX1(E=3nZl^7b& z$hhblm~1vRi|k6``Xt46X5YN?N(q0P)JNd~q5d&m$iWn-jKP5h872S2xx$1x^)f6v zwH($cKFbeu>=PRT!+fS7llGh$#x0_{v)Fmn1-@_A#FDtwGt&%P}1EIj)D z8`@m;&AUJ8I`hwGF*;ViUwft~CvgsIz8RTCMgVRx1Eib=mQ&BS;_}FgDoC!r<2($& zT#rH)ASdIhp#}azCK|~ePqj?)dH@!a*VTR$Q`NYir=pg@k^HeNGYRQ+d7#VLk_}r4 zG;r$!D69Au$KtndUx+yK@smy&fNt{Nd$my_npKDi;;z=ucw^%F_NF25K?GxmHCGYF zX<8YnjhfDH=p7kU*I)@(XFe@5IRhqMT<96{hYSE5Nl&c9=po#+x5%+?+5*R)w*r0r zA`}o@gkn;H;*DhX{Ko4ZQaE!`MoGIKh@DEcg1;GeU!H|dfHXtY?_1@+esrNkf1jms za>w-$AjFjeeTY9Rm6o1#z5s-N{5x^tcB-ac=wa{JGdtwe6jL9}J`qC7Uwe~$vMkjs zT6nqzBd*HG&i#7QddzSPI?XWM%3T0nF{;PNZ*5&xAT z7`MZw_P6eV`TRLM4bUzIdSjDRJkBG@pH=}cO2K9hsZo=c)Zfg_0_PwVY+WfN*uIn< zx}W)XJ^UyU2Jjp7dh!q$G$~B&gAuM1i98KW+5}Ig_mDcIhT`5m+ec4(m`S>=@^L=DS1S*q5@NlJBWzAPADx{g zF$W;mo?n^bPY1xMC&az>@?rj+a76veq+5701gf6BQJ-FPnLX@&C+P^V4X!ouYhcXG zr0LObIOopWP^HU-uG22BIb)3t?u4jY#Y_6Qdrq+@VX^wHl6p9=p zfCsNCZ7vn&0HkO=ZBN*YgX^c-Kk{Y>}0Uv1YTfT)I3xp`o=ORUOU zXGiE7Qk9)zD9vYvv@h|@vy zP|QKNZE|uGvKu`TIAJna3wDkbqwQFM0{8<$#;sK(A1j27nDjshTlQvSf49rS zbIzs+f=U1R`9*Q(dl$0dsdF2``wJL{)YzdEui+hq@Z$22BbDpBe$J*yPi|(dtF#Qp zdGD7gCt0bM(PL%y+DUi-zs`nLaaqB`KZ>n8NDA^acC#*e7fH6x1C#*SjgwlCFu26> zFI5-Zc@|a=Vb=khyP8?gOXNs6$5gnOZxAZdncEt2ptlb$i3ub_+5(QGnRs7k(`O&Z zAQ{T_!y$9aG6o%AWS>$u({f_F8zbuCiByHV{sP9h6BZRn-FqCGTxWL#%%^pHSk+}b z@Wt!VNi%UybqD#ld0?oOG}SPA>$2usLdn`_iKkUQt=>!wr25Ymz-%lqDCst<6UJ?* zj8=Fp>_+tW|9Um2wCD1hylE64;MLr_^yo=#{@JqeWp0^2H$ZDaf2_AY5uV}3#p5wW zGJ5+(ca{1|5F^GMqe&i!zWPA(quTU06~$X(VV{7uySC>&2Z1+r*ZzH7-b| zy&Zb{1F(tl13c*@uAQrwe|gE=lC4XJyWCUGmwoDF@cjt#rH^!0nZTQZ0FT}a8cO+{ zTW_057=UjS=&!vmk*(0i&*$RsiqD;ae{@ z@sL^=1xZGrq`Mh<3sNovOqc1T+e?;Y1lqmf9;}7kI&Q9Eo2~qvaAh$;hQKCo5 - export let name: string; - - -
-

Welcome {name}!

-

Visit the Svelte tutorial to learn how to build Svelte apps.

-
- - diff --git a/packages/svelte/src/generators/application/files/src/main.ts.template b/packages/svelte/src/generators/application/files/src/main.ts.template deleted file mode 100644 index 5fa85fb01..000000000 --- a/packages/svelte/src/generators/application/files/src/main.ts.template +++ /dev/null @@ -1,10 +0,0 @@ -import App from './App.svelte'; - -const app = new App({ - target: document.body, - props: { - name: '<%= name %>' - } -}); - -export default app; diff --git a/packages/svelte/src/generators/application/files/svelte.config.cjs.template b/packages/svelte/src/generators/application/files/svelte.config.cjs.template deleted file mode 100644 index 85b6ce495..000000000 --- a/packages/svelte/src/generators/application/files/svelte.config.cjs.template +++ /dev/null @@ -1,7 +0,0 @@ -const sveltePreprocess = require('svelte-preprocess'); - -module.exports = { - // Consult https://github.com/sveltejs/svelte-preprocess - // for more information about preprocessors - preprocess: sveltePreprocess() -}; diff --git a/packages/svelte/src/generators/application/files/tsconfig.app.json.template b/packages/svelte/src/generators/application/files/tsconfig.app.json.template deleted file mode 100644 index 52147678a..000000000 --- a/packages/svelte/src/generators/application/files/tsconfig.app.json.template +++ /dev/null @@ -1,38 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - "compilerOptions": { - "moduleResolution": "node", - "target": "es2017", - /** - Svelte Preprocess cannot figure out whether you have a value or a type, so tell TypeScript - to enforce using `import type` instead of `import` for Types. - */ - "verbatimModuleSyntax": true, - "isolatedModules": true, - /** - To have warnings/errors of the Svelte compiler at the correct position, - enable source maps by default. - */ - "sourceMap": true, - /** Requests the runtime types from the svelte modules by default. Needed for TS files or else you get errors. */ - "types": ["svelte"], - - "strict": false, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - /** Needed for the vite-tsconfig-paths vite plugin. */ - "checkJs": true, - "allowJs": true - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/svelte/src/generators/application/files/tsconfig.spec.json.template b/packages/svelte/src/generators/application/files/tsconfig.spec.json.template deleted file mode 100644 index dcfec8ecd..000000000 --- a/packages/svelte/src/generators/application/files/tsconfig.spec.json.template +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": [<% if(unitTestRunner === 'jest') { %>"jest",<% } %><% if(unitTestRunner === 'vitest') { %>'vitest/globals', 'vitest/importMeta', 'vite/client',<% } %> "node"] - }, - "include": [ - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -} diff --git a/packages/svelte/src/generators/application/lib/add-cypress.ts b/packages/svelte/src/generators/application/lib/add-cypress.ts deleted file mode 100644 index 98d884b91..000000000 --- a/packages/svelte/src/generators/application/lib/add-cypress.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { cypressProjectGenerator } from '@nx/cypress'; -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addCypress(tree: Tree, options: NormalizedSchema) { - if (options.e2eTestRunner !== 'cypress') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - - return await cypressProjectGenerator(tree, { - name: options.name + '-e2e', - project: options.name, - }); -} diff --git a/packages/svelte/src/generators/application/lib/add-jest.ts b/packages/svelte/src/generators/application/lib/add-jest.ts deleted file mode 100644 index 4c87edeeb..000000000 --- a/packages/svelte/src/generators/application/lib/add-jest.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { jestProjectGenerator } from '@nx/jest'; -import { NormalizedSchema } from '../schema'; - -export async function addJest(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - - return await jestProjectGenerator(host, { - project: options.name, - supportTsx: false, - skipSerializers: true, - setupFile: 'none', - babelJest: false, - }); -} diff --git a/packages/svelte/src/generators/application/lib/add-linting.ts b/packages/svelte/src/generators/application/lib/add-linting.ts deleted file mode 100644 index 520ce0b4f..000000000 --- a/packages/svelte/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { lintProjectGenerator } from '@nx/linter'; -import { extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - ], - unitTestRunner: options.unitTestRunner, - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,svelte,spec.ts}`], - skipFormat: true, - }); - - host.rename( - joinPathFragments(options.projectRoot, 'eslintrc.js'), - joinPathFragments(options.projectRoot, '.eslintrc.js') - ); - host.delete(joinPathFragments(options.projectRoot, '.eslintrc.json')); - - const installTask = addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/svelte/src/generators/application/lib/add-project.ts b/packages/svelte/src/generators/application/lib/add-project.ts deleted file mode 100644 index 6d56bfc7b..000000000 --- a/packages/svelte/src/generators/application/lib/add-project.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { addProjectConfiguration, Tree } from '@nx/devkit'; -import { createLintAndCheckTargets } from '../../utils/targets'; - -export function addProject(tree: Tree, options: NormalizedSchema) { - const targets = createLintAndCheckTargets(options); - - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'application', - tags: options.parsedTags, - targets, - }); -} diff --git a/packages/svelte/src/generators/application/lib/add-vite.ts b/packages/svelte/src/generators/application/lib/add-vite.ts deleted file mode 100644 index 733c325a6..000000000 --- a/packages/svelte/src/generators/application/lib/add-vite.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - await ensurePackage('@nx/vite', NX_VERSION); - const { viteConfigurationGenerator } = await import('@nx/vite'); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - }); -} diff --git a/packages/svelte/src/generators/application/lib/create-project-files.ts b/packages/svelte/src/generators/application/lib/create-project-files.ts deleted file mode 100644 index ca65ab9f3..000000000 --- a/packages/svelte/src/generators/application/lib/create-project-files.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { - ensurePackage, - generateFiles, - joinPathFragments, - names, - NX_VERSION, - offsetFromRoot, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { createTsConfig } from '../../utils/create-ts-config'; - -export async function createApplicationFiles( - host: Tree, - options: NormalizedSchema -) { - ensurePackage('@nx/js', NX_VERSION); - const { getRelativePathToRootTsConfig } = await import('@nx/js'); - - generateFiles( - host, - joinPathFragments(__dirname, '../files'), - options.projectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - } - ); - - const relativePathToRootTsConfig = getRelativePathToRootTsConfig( - host, - options.projectRoot - ); - - createTsConfig( - host, - options.projectRoot, - 'app', - { - ...options, - bundler: 'vite', - }, - relativePathToRootTsConfig - ); -} diff --git a/packages/svelte/src/generators/application/lib/normalize-options.ts b/packages/svelte/src/generators/application/lib/normalize-options.ts deleted file mode 100644 index 6bb4b0763..000000000 --- a/packages/svelte/src/generators/application/lib/normalize-options.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { getWorkspaceLayout, joinPathFragments, names, Tree } from '@nx/devkit'; -import { NormalizedSchema, Schema } from '../schema'; -import { determineProjectNameAndRootOptions } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -export async function normalizeOptions( - host: Tree, - options: Schema, - callingGenerator = '@nxext/solid:application' -): Promise { - const { - projectName: appProjectName, - projectRoot, - projectNameAndRootFormat, - } = await determineProjectNameAndRootOptions(host, { - name: options.name, - projectType: 'application', - directory: options.directory, - projectNameAndRootFormat: options.projectNameAndRootFormat, - rootProject: options.rootProject, - callingGenerator, - }); - options.rootProject = projectRoot === '.'; - options.projectNameAndRootFormat = projectNameAndRootFormat; - - const e2eProjectName = options.rootProject ? 'e2e' : `${appProjectName}-e2e`; - const e2eProjectRoot = options.rootProject ? 'e2e' : `${projectRoot}-e2e`; - - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - const fileName = 'App'; - - return { - ...options, - name: names(options.name).fileName, - projectName: appProjectName, - projectRoot, - e2eProjectName, - e2eProjectRoot, - parsedTags, - fileName, - skipFormat: false, - }; -} diff --git a/packages/svelte/src/generators/application/lib/update-jest-config.ts b/packages/svelte/src/generators/application/lib/update-jest-config.ts deleted file mode 100644 index 4289aa141..000000000 --- a/packages/svelte/src/generators/application/lib/update-jest-config.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { Tree } from '@nx/devkit'; - -export function updateJestConfig(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return; - } - - const jestConfigPath = `${options.projectRoot}/jest.config.ts`; - const svelteConfigPath = `${options.projectRoot}/svelte.config.cjs`; - const originalContent = host.read(jestConfigPath)?.toString(); - const content = updateJestConfigContent(originalContent, svelteConfigPath); - host.write(jestConfigPath, content); -} - -function updateJestConfigContent(content: string, svelteConfigPath: string) { - return content - .replace('moduleFileExtensions: [', "moduleFileExtensions: ['svelte', ") - .replace( - 'transform: {', - `transform: {\n '^(.+\\\\.svelte$)': ['svelte-jester', {\n 'preprocess': '${svelteConfigPath}'\n }\n ],` - ); -} diff --git a/packages/svelte/src/generators/application/lib/update-vite-config.ts b/packages/svelte/src/generators/application/lib/update-vite-config.ts deleted file mode 100644 index c85c967ea..000000000 --- a/packages/svelte/src/generators/application/lib/update-vite-config.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - svelte(),` - ) - .replace( - `viteTsConfigPaths({`, - `viteTsConfigPaths({ - loose: true,` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import { svelte } from '@sveltejs/vite-plugin-svelte'; - ` - ); -} diff --git a/packages/svelte/src/generators/application/schema.d.ts b/packages/svelte/src/generators/application/schema.d.ts deleted file mode 100644 index a7900cdc0..000000000 --- a/packages/svelte/src/generators/application/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Linter } from '@nx/linter'; -import { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -export interface Schema { - name: string; - tags?: string; - projectNameAndRootFormat?: ProjectNameAndRootFormat; - linter: Linter; - unitTestRunner: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - directory?: string; - host?: string; - port?: number; - rootProject?: boolean; -} - -export interface NormalizedSchema extends Schema { - projectName: string; - projectRoot: string; - e2eProjectName: string; - e2eProjectRoot: string; - fileName: string; - parsedTags: string[]; - skipFormat: boolean; -} diff --git a/packages/svelte/src/generators/application/schema.json b/packages/svelte/src/generators/application/schema.json deleted file mode 100644 index e03097edf..000000000 --- a/packages/svelte/src/generators/application/schema.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Svelte", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "vitest" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (e2e) tests.", - "default": "cypress" - }, - "projectNameAndRootFormat": { - "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).", - "type": "string", - "enum": ["as-provided", "derived"] - }, - "directory": { - "type": "string", - "description": "A directory where the lib is placed.", - "alias": "d" - }, - "port": { - "type": "number", - "description": "Port to listen on.", - "default": 5000 - }, - "host": { - "type": "string", - "description": "Host to listen on.", - "default": "localhost" - }, - "rootProject": { - "description": "Create a application at the root of the workspace", - "type": "boolean", - "default": false, - "hidden": true - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/svelte/src/generators/component/component.spec.ts b/packages/svelte/src/generators/component/component.spec.ts deleted file mode 100644 index 803187267..000000000 --- a/packages/svelte/src/generators/component/component.spec.ts +++ /dev/null @@ -1,85 +0,0 @@ -import componentGenerator, { SvelteComponentSchema } from './component'; -import { createTestProject } from '../utils/testing'; -import { uniq } from '@nx/plugin/testing'; -import { logger, names, Tree } from '@nx/devkit'; - -describe('component generator', () => { - let tree: Tree; - const projectName = uniq('testprojekt'); - const componentName = uniq('test'); - const options: SvelteComponentSchema = { - name: componentName, - project: projectName, - unitTestRunner: 'jest', - }; - - describe('application', () => { - beforeEach(async () => { - tree = await createTestProject(projectName); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(logger, 'warn').mockImplementation(() => {}); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(logger, 'debug').mockImplementation(() => {}); - }); - - it('should run successfully', async () => { - await expect( - componentGenerator(tree, options) - ).resolves.not.toThrowError(); - }); - - it('should add file', async () => { - await componentGenerator(tree, options); - const name = names(componentName); - expect( - tree.exists( - `apps/${projectName}/src/components/${name.fileName}/${name.className}.svelte` - ) - ); - }); - - it('should add file to barrel', async () => { - const tree = await createTestProject(projectName, 'library'); - await componentGenerator(tree, options); - const name = names(componentName); - - const indexFile = tree.read(`libs/${projectName}/src/index.ts`); - expect(indexFile.toString('utf-8')).toMatch( - `export { default as ${name.className} } from './components/${name.fileName}/${name.className}.svelte';` - ); - }); - }); - - describe('library', () => { - beforeEach(async () => { - tree = await createTestProject(projectName, 'library'); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(logger, 'warn').mockImplementation(() => {}); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(logger, 'debug').mockImplementation(() => {}); - }); - - it('should add stories file if storybook is configured', async () => { - await componentGenerator(tree, options); - const name = names(componentName); - tree.write(`libs/${projectName}/.storybook/main.js`, ''); - - expect( - tree.exists( - `libs/${projectName}/src/components/${name.fileName}/${name.fileName}.stories.ts` - ) - ); - }); - - it('should remove stories file if storybook is not configured', async () => { - await componentGenerator(tree, options); - const name = names(componentName); - - expect( - tree.exists( - `libs/${projectName}/src/components/${name.fileName}/${name.fileName}.stories.ts` - ) - ).toBeFalsy(); - }); - }); -}); diff --git a/packages/svelte/src/generators/component/component.ts b/packages/svelte/src/generators/component/component.ts deleted file mode 100644 index b8a3f6962..000000000 --- a/packages/svelte/src/generators/component/component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { addExportsToBarrel } from './lib/add-exports-to-barrel'; -import { createComponentInProject } from './lib/create-component-in-project'; -import { convertNxGenerator, Tree } from '@nx/devkit'; - -export interface SvelteComponentSchema { - name: string; - project: string; - directory?: string; - unitTestRunner: 'jest' | 'none'; -} - -export async function componentGenerator( - tree: Tree, - options: SvelteComponentSchema -) { - createComponentInProject(tree, options); - addExportsToBarrel(tree, options); -} - -export default componentGenerator; -export const componentSchematic = convertNxGenerator(componentGenerator); diff --git a/packages/svelte/src/generators/component/files/src/components/__fileName__/__className__.svelte.template b/packages/svelte/src/generators/component/files/src/components/__fileName__/__className__.svelte.template deleted file mode 100644 index 55ae6a481..000000000 --- a/packages/svelte/src/generators/component/files/src/components/__fileName__/__className__.svelte.template +++ /dev/null @@ -1,7 +0,0 @@ - - - - -

Hello component!

diff --git a/packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.spec.ts.template b/packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.spec.ts.template deleted file mode 100644 index a8b7f8ad5..000000000 --- a/packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.spec.ts.template +++ /dev/null @@ -1,8 +0,0 @@ -import <%= className %> from './<%= className %>.svelte' -import { render } from '@testing-library/svelte' - -it('it works', async () => { - const { getByText } = render(<%= className %>) - - expect(getByText('Hello component!')); -}) diff --git a/packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.stories.ts.template b/packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.stories.ts.template deleted file mode 100644 index 23e38de48..000000000 --- a/packages/svelte/src/generators/component/files/src/components/__fileName__/__fileName__.stories.ts.template +++ /dev/null @@ -1,12 +0,0 @@ -import { action } from '@storybook/addon-actions'; -import <%= className %> from './<%= className %>.svelte'; - -export default { - title: '<%= className %>', - component: <%= className %>, -}; - -export const Text = () => ({ - Component: <%= className %>, - props: { } -}); diff --git a/packages/svelte/src/generators/component/lib/add-exports-to-barrel.ts b/packages/svelte/src/generators/component/lib/add-exports-to-barrel.ts deleted file mode 100644 index 3d691ecb8..000000000 --- a/packages/svelte/src/generators/component/lib/add-exports-to-barrel.ts +++ /dev/null @@ -1,79 +0,0 @@ -import * as ts from 'typescript'; - -import { findNodes } from '@nx/js'; -import { SvelteComponentSchema } from '../component'; -import { - applyChangesToString, - ChangeType, - joinPathFragments, - names, - readProjectConfiguration, - StringChange, - Tree, -} from '@nx/devkit'; - -export function addExportsToBarrel(tree: Tree, options: SvelteComponentSchema) { - const projectConfig = readProjectConfiguration(tree, options.project); - - const { className, fileName } = names(options.name); - const indexFilePath = joinPathFragments(projectConfig.sourceRoot, 'index.ts'); - const componentFile = `./components/${fileName}/${className}.svelte`; - - if (projectConfig.projectType === 'library') { - const { content, source } = readSourceFile(tree, indexFilePath); - - const changes = applyChangesToString( - content, - addExport( - source, - `export { default as ${className} } from '${componentFile}';` - ) - ); - tree.write(indexFilePath, changes); - } -} - -export function addExport( - source: ts.SourceFile, - statement: string -): StringChange[] { - const allExports = findNodes(source, ts.SyntaxKind.ExportDeclaration); - if (allExports.length > 0) { - const lastImport = allExports[allExports.length - 1]; - return [ - { - type: ChangeType.Insert, - index: lastImport.end + 1, - text: `\n${statement}\n`, - }, - ]; - } else { - return [ - { - type: ChangeType.Insert, - index: 0, - text: `\n${statement}\n`, - }, - ]; - } -} - -function readSourceFile( - host: Tree, - path: string -): { content: string; source: ts.SourceFile } { - if (!host.exists(path)) { - throw new Error(`Cannot find ${path}`); - } - - const content = host.read(path).toString('utf-8'); - - const source = ts.createSourceFile( - path, - content, - ts.ScriptTarget.Latest, - true - ); - - return { content, source }; -} diff --git a/packages/svelte/src/generators/component/lib/create-component-in-project.ts b/packages/svelte/src/generators/component/lib/create-component-in-project.ts deleted file mode 100644 index 269cfe2a6..000000000 --- a/packages/svelte/src/generators/component/lib/create-component-in-project.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - readProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { SvelteComponentSchema } from '../component'; - -export function createComponentInProject( - tree: Tree, - options: SvelteComponentSchema -) { - const projectConfig = readProjectConfiguration(tree, options.project); - const projectDirectory = options.directory - ? joinPathFragments(options.directory) - : ''; - const generatedNames = names(options.name); - generateFiles( - tree, - joinPathFragments(__dirname, '../files/src'), - joinPathFragments(`${projectConfig.sourceRoot}/${projectDirectory}`), - generatedNames - ); - - if (!tree.exists(joinPathFragments(`${projectConfig.root}/.storybook`))) { - tree.delete( - joinPathFragments( - `${projectConfig.sourceRoot}/components/${generatedNames.fileName}/${generatedNames.fileName}.stories.ts` - ) - ); - } -} diff --git a/packages/svelte/src/generators/component/schema.json b/packages/svelte/src/generators/component/schema.json deleted file mode 100644 index d5ac1ec65..000000000 --- a/packages/svelte/src/generators/component/schema.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Component", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "project": { - "type": "string", - "description": "Project where the component is generated", - "x-prompt": "What project would you like to use?", - "alias": "p" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - } - }, - "required": ["name", "project"] -} diff --git a/packages/svelte/src/generators/init/init.spec.ts b/packages/svelte/src/generators/init/init.spec.ts deleted file mode 100644 index 88f435b2e..000000000 --- a/packages/svelte/src/generators/init/init.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schema } from './schema'; -import { initGenerator } from './init'; -import { readJson } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; - -describe('init schematic', () => { - let tree; - const options: Schema = { - skipFormat: true, - unitTestRunner: 'jest', - e2eTestRunner: 'cypress', - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should add Svelte dependencies', async () => { - await initGenerator(tree, options); - - const packageJson = readJson(tree, 'package.json'); - expect(packageJson.devDependencies['svelte']).toBeDefined(); - expect(packageJson.devDependencies['svelte-preprocess']).toBeDefined(); - expect(packageJson.devDependencies['svelte-jester']).toBeDefined(); - }); -}); diff --git a/packages/svelte/src/generators/init/init.ts b/packages/svelte/src/generators/init/init.ts deleted file mode 100644 index d1893af3d..000000000 --- a/packages/svelte/src/generators/init/init.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Schema } from './schema'; -import { - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { addJestPlugin } from './lib/add-jest-plugin'; -import { addCypressPlugin } from './lib/add-cypress-plugin'; -import { updateDependencies } from './lib/add-dependencies'; -import { addLinterPlugin } from './lib/add-linter-plugin'; -import { addPluginToNxJson } from '../utils/add-plugin-to-nx-json'; - -export async function initGenerator(host: Tree, schema: Schema) { - const tasks: GeneratorCallback[] = []; - - const jestTask = await addJestPlugin(host, schema); - tasks.push(jestTask); - - const cypressTask = await addCypressPlugin(host, schema); - tasks.push(cypressTask); - - const linterTask = await addLinterPlugin(host); - tasks.push(linterTask); - - const installTask = updateDependencies(host); - tasks.push(installTask); - - addPluginToNxJson('@nxext/svelte', host); - - if (!schema.skipFormat) { - await formatFiles(host); - } - return runTasksInSerial(...tasks); -} diff --git a/packages/svelte/src/generators/init/lib/add-cypress-plugin.ts b/packages/svelte/src/generators/init/lib/add-cypress-plugin.ts deleted file mode 100644 index 7119f6878..000000000 --- a/packages/svelte/src/generators/init/lib/add-cypress-plugin.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { GeneratorCallback, Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { cypressInitGenerator } from '@nx/cypress'; -import { Schema } from '../schema'; - -export async function addCypressPlugin( - tree: Tree, - schema: Schema -): Promise { - if (!schema.unitTestRunner || schema.unitTestRunner === 'jest') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/cypress', NX_VERSION); - return cypressInitGenerator(tree, {}); -} diff --git a/packages/svelte/src/generators/init/lib/add-dependencies.ts b/packages/svelte/src/generators/init/lib/add-dependencies.ts deleted file mode 100644 index 2e6cd3bfb..000000000 --- a/packages/svelte/src/generators/init/lib/add-dependencies.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; -import { - svelteCheckVersion, - svelteJesterVersion, - sveltePreprocessVersion, - svelteVersion, - testingLibrarySvelteVersion, - tsconfigSvelteVersion, - vitePluginSvelteVersion, -} from '../../utils/versions'; - -export function updateDependencies(tree: Tree) { - return addDependenciesToPackageJson( - tree, - {}, - { - 'svelte-jester': svelteJesterVersion, - svelte: svelteVersion, - 'svelte-check': svelteCheckVersion, - 'svelte-preprocess': sveltePreprocessVersion, - '@tsconfig/svelte': tsconfigSvelteVersion, - '@testing-library/svelte': testingLibrarySvelteVersion, - '@sveltejs/vite-plugin-svelte': vitePluginSvelteVersion, - } - ); -} diff --git a/packages/svelte/src/generators/init/lib/add-jest-plugin.ts b/packages/svelte/src/generators/init/lib/add-jest-plugin.ts deleted file mode 100644 index 14b65233b..000000000 --- a/packages/svelte/src/generators/init/lib/add-jest-plugin.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { jestInitGenerator } from '@nx/jest'; -import { GeneratorCallback, Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { Schema } from '../schema'; - -export async function addJestPlugin( - tree: Tree, - schema: Schema -): Promise { - if (!schema.unitTestRunner || schema.unitTestRunner === 'jest') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - await ensurePackage('@nx/jest', NX_VERSION); - - return await jestInitGenerator(tree, {}); -} diff --git a/packages/svelte/src/generators/init/lib/add-linter-plugin.ts b/packages/svelte/src/generators/init/lib/add-linter-plugin.ts deleted file mode 100644 index b0ece130e..000000000 --- a/packages/svelte/src/generators/init/lib/add-linter-plugin.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ensurePackage, GeneratorCallback, NX_VERSION, Tree } from '@nx/devkit'; - -export async function addLinterPlugin(tree: Tree): Promise { - ensurePackage('@nx/linter', NX_VERSION); - const { lintInitGenerator } = await import('@nx/linter'); - - return lintInitGenerator(tree, {}); -} diff --git a/packages/svelte/src/generators/init/schema.d.ts b/packages/svelte/src/generators/init/schema.d.ts deleted file mode 100644 index 42690e800..000000000 --- a/packages/svelte/src/generators/init/schema.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface Schema { - unitTestRunner: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - skipFormat: boolean; -} diff --git a/packages/svelte/src/generators/init/schema.json b/packages/svelte/src/generators/init/schema.json deleted file mode 100644 index 901a188d5..000000000 --- a/packages/svelte/src/generators/init/schema.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Init", - "title": "", - "type": "object", - "properties": { - "unitTestRunner": { - "description": "Adds the specified unit test runner.", - "type": "string", - "enum": ["jest", "vitest", "none"], - "default": "vitest" - }, - "e2eTestRunner": { - "description": "Adds the specified e2e test runner.", - "type": "string", - "enum": ["cypress", "none"], - "default": "cypress" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": [] -} diff --git a/packages/svelte/src/generators/library/files/eslintrc.js.template b/packages/svelte/src/generators/library/files/eslintrc.js.template deleted file mode 100644 index c2e1f10d5..000000000 --- a/packages/svelte/src/generators/library/files/eslintrc.js.template +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["svelte3", "@typescript-eslint"], - "extends": ["<%= offsetFromRoot %>.eslintrc.json"], - "ignorePatterns": ["!**/*", "vite.config.ts"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.svelte"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.svelte"], - "processor": "svelte3/svelte3" - } - ], - "settings": { - 'svelte3/typescript': require('typescript') - } -} diff --git a/packages/svelte/src/generators/library/files/package.json.template b/packages/svelte/src/generators/library/files/package.json.template deleted file mode 100644 index fa518765a..000000000 --- a/packages/svelte/src/generators/library/files/package.json.template +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1" -} diff --git a/packages/svelte/src/generators/library/files/src/index.ts.template b/packages/svelte/src/generators/library/files/src/index.ts.template deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/svelte/src/generators/library/files/svelte.config.cjs.template b/packages/svelte/src/generators/library/files/svelte.config.cjs.template deleted file mode 100644 index 85b6ce495..000000000 --- a/packages/svelte/src/generators/library/files/svelte.config.cjs.template +++ /dev/null @@ -1,7 +0,0 @@ -const sveltePreprocess = require('svelte-preprocess'); - -module.exports = { - // Consult https://github.com/sveltejs/svelte-preprocess - // for more information about preprocessors - preprocess: sveltePreprocess() -}; diff --git a/packages/svelte/src/generators/library/files/tsconfig.lib.json.template b/packages/svelte/src/generators/library/files/tsconfig.lib.json.template deleted file mode 100644 index c8b8804cb..000000000 --- a/packages/svelte/src/generators/library/files/tsconfig.lib.json.template +++ /dev/null @@ -1,34 +0,0 @@ -{ - "extends": "./tsconfig.json", - - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "types": ["svelte"], - "moduleResolution": "node", - "target": "es2017", - /** - Svelte Preprocess cannot figure out whether you have a value or a type, so tell TypeScript - to enforce using `import type` instead of `import` for Types. - */ - "verbatimModuleSyntax": true, - "isolatedModules": true, - /** - To have warnings/errors of the Svelte compiler at the correct position, - enable source maps by default. - */ - "sourceMap": true, - /** Requests the runtime types from the svelte modules by default. Needed for TS files or else you get errors. */ - "types": ["svelte"], - - "strict": false, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - /** Needed for the vite-tsconfig-paths vite plugin. */ - "checkJs": true, - "allowJs": true - }, - - "include": ["src/**/*"], - "exclude": ["**/*.spec.ts", "**/*_spec.ts", "public/*"], -} diff --git a/packages/svelte/src/generators/library/files/tsconfig.spec.json.template b/packages/svelte/src/generators/library/files/tsconfig.spec.json.template deleted file mode 100644 index 38dd32386..000000000 --- a/packages/svelte/src/generators/library/files/tsconfig.spec.json.template +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": [<% if(unitTestRunner === 'jest') { %>"jest",<% } %><% if(unitTestRunner === 'vitest') { %>'vitest/globals', 'vitest/importMeta', 'vite/client',<% } %> "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts" - ] -} diff --git a/packages/svelte/src/generators/library/lib/add-jest.ts b/packages/svelte/src/generators/library/lib/add-jest.ts deleted file mode 100644 index d39129b58..000000000 --- a/packages/svelte/src/generators/library/lib/add-jest.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addJest(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return () => {}; // eslint-disable-line @typescript-eslint/no-empty-function - } - - const { jestProjectGenerator } = ensurePackage( - '@nx/jest', - NX_VERSION - ); - - return await jestProjectGenerator(host, { - project: options.name, - supportTsx: false, - skipSerializers: true, - setupFile: 'none', - babelJest: false, - }); -} diff --git a/packages/svelte/src/generators/library/lib/add-linting.ts b/packages/svelte/src/generators/library/lib/add-linting.ts deleted file mode 100644 index 414a2985e..000000000 --- a/packages/svelte/src/generators/library/lib/add-linting.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - runTasksInSerial, - ensurePackage, - NX_VERSION, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - const { lintProjectGenerator } = ensurePackage( - '@nx/linter', - NX_VERSION - ); - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.lib.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,svelte,spec.ts}`], - skipFormat: true, - }); - - host.rename( - joinPathFragments(options.projectRoot, 'eslintrc.js'), - joinPathFragments(options.projectRoot, '.eslintrc.js') - ); - host.delete(joinPathFragments(options.projectRoot, '.eslintrc.json')); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/svelte/src/generators/library/lib/add-project.ts b/packages/svelte/src/generators/library/lib/add-project.ts deleted file mode 100644 index bb9262a25..000000000 --- a/packages/svelte/src/generators/library/lib/add-project.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { addProjectConfiguration, Tree } from '@nx/devkit'; -import { createLintAndCheckTargets } from '../../utils/targets'; - -export function addProject(tree: Tree, options: NormalizedSchema) { - const targets = createLintAndCheckTargets(options); - - addProjectConfiguration(tree, options.name, { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'library', - tags: options.parsedTags, - targets, - }); -} diff --git a/packages/svelte/src/generators/library/lib/add-vite.ts b/packages/svelte/src/generators/library/lib/add-vite.ts deleted file mode 100644 index e4b2c4bfc..000000000 --- a/packages/svelte/src/generators/library/lib/add-vite.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - if (options.buildable || options.publishable) { - const { viteConfigurationGenerator } = ensurePackage< - typeof import('@nx/vite') - >('@nx/vite', NX_VERSION); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - skipFormat: true, - }); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; -} diff --git a/packages/svelte/src/generators/library/lib/add-vitest.ts b/packages/svelte/src/generators/library/lib/add-vitest.ts deleted file mode 100644 index 174526d49..000000000 --- a/packages/svelte/src/generators/library/lib/add-vitest.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Tree, ensurePackage, NX_VERSION } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVitest(host: Tree, options: NormalizedSchema) { - if ( - !options.buildable && - !options.publishable && - options.unitTestRunner === 'vitest' - ) { - const { vitestGenerator } = ensurePackage( - '@nx/vite', - NX_VERSION - ); - - return await vitestGenerator(host, { - uiFramework: 'none', - project: options.name, - coverageProvider: 'c8', - inSourceTests: false, - skipFormat: true, - }); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; -} diff --git a/packages/svelte/src/generators/library/lib/create-project-files.ts b/packages/svelte/src/generators/library/lib/create-project-files.ts deleted file mode 100644 index 8bdf82704..000000000 --- a/packages/svelte/src/generators/library/lib/create-project-files.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - ensurePackage, - generateFiles, - joinPathFragments, - names, - NX_VERSION, - offsetFromRoot, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { createTsConfig } from '../../utils/create-ts-config'; - -export async function createProjectFiles( - host: Tree, - options: NormalizedSchema -) { - ensurePackage('@nx/js', NX_VERSION); - const { getRelativePathToRootTsConfig } = await import('@nx/js'); - - generateFiles( - host, - joinPathFragments(__dirname, '../files'), - options.projectRoot, - { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - } - ); - - if (!options.publishable && !options.buildable) { - host.delete(`${options.projectRoot}/package.json`); - } - - const relativePathToRootTsConfig = getRelativePathToRootTsConfig( - host, - options.projectRoot - ); - - createTsConfig( - host, - options.projectRoot, - 'lib', - { - ...options, - bundler: 'vite', - }, - relativePathToRootTsConfig - ); -} diff --git a/packages/svelte/src/generators/library/lib/normalize-options.ts b/packages/svelte/src/generators/library/lib/normalize-options.ts deleted file mode 100644 index 7245eba86..000000000 --- a/packages/svelte/src/generators/library/lib/normalize-options.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { names, Tree } from '@nx/devkit'; -import { NormalizedSchema, SvelteLibrarySchema } from '../schema'; -import { determineProjectNameAndRootOptions } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -export async function normalizeOptions( - host: Tree, - options: SvelteLibrarySchema -): Promise { - const { - projectName, - names: projectNames, - projectRoot, - importPath, - } = await determineProjectNameAndRootOptions(host, { - name: options.name, - projectType: 'library', - directory: options.directory, - importPath: options.importPath, - projectNameAndRootFormat: options.projectNameAndRootFormat, - callingGenerator: '@nx/react:library', - }); - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const fileName = options.simpleName - ? projectNames.projectSimpleName - : projectNames.projectFileName; - - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - - return { - ...options, - name: projectName, - projectRoot, - parsedTags, - fileName, - projectDirectory, - importPath, - }; -} diff --git a/packages/svelte/src/generators/library/lib/update-jest-config.ts b/packages/svelte/src/generators/library/lib/update-jest-config.ts deleted file mode 100644 index 4bd8e38f0..000000000 --- a/packages/svelte/src/generators/library/lib/update-jest-config.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { Tree } from '@nx/devkit'; - -export function updateJestConfig(host: Tree, options: NormalizedSchema) { - if (options.unitTestRunner !== 'jest') { - return; - } - - const configPath = `${options.projectRoot}/jest.config.ts`; - const svelteConfigPath = `${options.projectRoot}/svelte.config.cjs`; - const originalContent = host.read(configPath)?.toString(); - const content = updateJestConfigContent(originalContent, svelteConfigPath); - host.write(configPath, content); -} - -function updateJestConfigContent(content: string, svelteConfigPath: string) { - return content - .replace('moduleFileExtensions: [', "moduleFileExtensions: ['svelte', ") - .replace( - 'transform: {', - `transform: {\n '^(.+\\\\.svelte$)': ['svelte-jester', {\n 'preprocess': '${svelteConfigPath}'\n }\n ],` - ); -} diff --git a/packages/svelte/src/generators/library/lib/update-tsconfig.ts b/packages/svelte/src/generators/library/lib/update-tsconfig.ts deleted file mode 100644 index 3560dd1d6..000000000 --- a/packages/svelte/src/generators/library/lib/update-tsconfig.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { NormalizedSchema } from '../schema'; -import { - getWorkspaceLayout, - joinPathFragments, - Tree, - updateJson, -} from '@nx/devkit'; - -export function updateTsConfig(tree: Tree, options: NormalizedSchema) { - const { libsDir } = getWorkspaceLayout(tree); - - return updateJson(tree, 'tsconfig.base.json', (json) => { - const c = json.compilerOptions; - c.paths = c.paths || {}; - delete c.paths[options.importPath]; - - if (c.paths[options.importPath]) { - throw new Error( - `You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.` - ); - } - - c.paths[options.importPath] = [ - joinPathFragments(`${libsDir}/${options.projectDirectory}/src/index.ts`), - ]; - return json; - }); -} diff --git a/packages/svelte/src/generators/library/lib/update-vite-config.ts b/packages/svelte/src/generators/library/lib/update-vite-config.ts deleted file mode 100644 index 89f2a569c..000000000 --- a/packages/svelte/src/generators/library/lib/update-vite-config.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - if ( - options.buildable || - options.publishable || - options.unitTestRunner === 'vitest' - ) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); - } -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - svelte(),` - ) - .replace( - `viteTsConfigPaths({`, - `viteTsConfigPaths({ - loose: true,` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import { svelte } from '@sveltejs/vite-plugin-svelte'; - ` - ); -} diff --git a/packages/svelte/src/generators/library/library.spec.ts b/packages/svelte/src/generators/library/library.spec.ts deleted file mode 100644 index 21657b3a2..000000000 --- a/packages/svelte/src/generators/library/library.spec.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { SvelteLibrarySchema } from './schema'; -import { Linter } from '@nx/linter'; -import { readJson } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from './library'; - -describe('svelte library schematic', () => { - let tree; - const options: SvelteLibrarySchema = { - name: 'test', - linter: Linter.EsLint, - unitTestRunner: 'jest', - e2eTestRunner: 'cypress', - skipFormat: false, - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should add Svelte dependencies', async () => { - await libraryGenerator(tree, options); - const packageJson = readJson(tree, 'package.json'); - - expect(packageJson.devDependencies['svelte']).toBeDefined(); - expect(packageJson.devDependencies['svelte-preprocess']).toBeDefined(); - expect(packageJson.devDependencies['svelte-jester']).toBeDefined(); - }); - - it('should add Svelte project files', async () => { - await libraryGenerator(tree, options); - - expect(tree.exists(`libs/${options.name}/svelte.config.cjs`)).toBeTruthy(); - expect(tree.exists(`libs/${options.name}/tsconfig.lib.json`)).toBeTruthy(); - expect(tree.exists(`libs/${options.name}/tsconfig.spec.json`)).toBeTruthy(); - expect(tree.exists(`libs/${options.name}/tsconfig.json`)).toBeTruthy(); - expect(tree.exists(`libs/${options.name}/.eslintrc.json`)).toBeFalsy(); - expect(tree.exists(`libs/${options.name}/.eslintrc.js`)).toBeTruthy(); - }); - - it('should fail if no importPath is provided with publishable', async () => { - try { - await libraryGenerator(tree, { - ...options, - publishable: true, - }); - } catch (error) { - expect(error.message).toContain( - 'For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)' - ); - } - }); - - it('should add vite types to tsconfigs', async () => { - await libraryGenerator(tree, { - ...options, - unitTestRunner: 'vitest', - }); - const tsconfigApp = readJson( - tree, - `libs/${options.name}/tsconfig.lib.json` - ); - expect(tsconfigApp.compilerOptions.types).toEqual([ - 'svelte', - 'node', - 'vite/client', - ]); - const tsconfigSpec = readJson( - tree, - `libs/${options.name}/tsconfig.spec.json` - ); - expect(tsconfigSpec.compilerOptions.types).toEqual([ - 'vitest/globals', - 'vitest/importMeta', - 'vite/client', - 'node', - 'vitest', - ]); - }); -}); diff --git a/packages/svelte/src/generators/library/library.ts b/packages/svelte/src/generators/library/library.ts deleted file mode 100644 index e55406117..000000000 --- a/packages/svelte/src/generators/library/library.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { NormalizedSchema, SvelteLibrarySchema } from './schema'; -import { initGenerator } from '../init/init'; -import { addProject } from './lib/add-project'; -import { updateTsConfig } from './lib/update-tsconfig'; -import { - convertNxGenerator, - formatFiles, - Tree, - updateJson, - runTasksInSerial, -} from '@nx/devkit'; -import { addLinting } from './lib/add-linting'; -import { addJest } from './lib/add-jest'; -import { updateJestConfig } from './lib/update-jest-config'; -import { addVite } from './lib/add-vite'; -import { updateViteConfig } from './lib/update-vite-config'; -import { createProjectFiles } from './lib/create-project-files'; -import { addVitest } from './lib/add-vitest'; -import { normalizeOptions } from './lib/normalize-options'; - -function updateLibPackageNpmScope(host: Tree, options: NormalizedSchema) { - return updateJson(host, `${options.projectRoot}/package.json`, (json) => { - json.name = options.importPath; - return json; - }); -} - -export async function libraryGenerator( - host: Tree, - schema: SvelteLibrarySchema -) { - const options = await normalizeOptions(host, schema); - if (options.publishable === true && !schema.importPath) { - throw new Error( - `For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)` - ); - } - - const initTask = await initGenerator(host, { ...options, skipFormat: true }); - - addProject(host, options); - await createProjectFiles(host, options); - - const lintTask = await addLinting(host, options); - const jestTask = await addJest(host, options); - const viteTask = await addVite(host, options); - const vitestTask = await addVitest(host, options); - - updateTsConfig(host, options); - updateViteConfig(host, options); - updateJestConfig(host, options); - - if (options.publishable || options.buildable) { - updateLibPackageNpmScope(host, options); - } - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, lintTask, viteTask, jestTask, vitestTask); -} - -export default libraryGenerator; -export const librarySchematic = convertNxGenerator(libraryGenerator); diff --git a/packages/svelte/src/generators/library/schema.d.ts b/packages/svelte/src/generators/library/schema.d.ts deleted file mode 100644 index 20976c757..000000000 --- a/packages/svelte/src/generators/library/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Linter } from '@nx/linter'; -import { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils'; - -export interface SvelteLibrarySchema { - name: string; - tags?: string; - projectNameAndRootFormat?: ProjectNameAndRootFormat; - linter: Linter; - unitTestRunner: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - buildable?: boolean; - directory?: string; - publishable?: boolean; - importPath?: string; - skipFormat: boolean; - simpleName?: boolean; -} - -export interface NormalizedSchema extends SvelteLibrarySchema { - projectRoot: string; - projectDirectory: string; - fileName: string; - parsedTags: string[]; - importPath: string; -} diff --git a/packages/svelte/src/generators/library/schema.json b/packages/svelte/src/generators/library/schema.json deleted file mode 100644 index b59dcd747..000000000 --- a/packages/svelte/src/generators/library/schema.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Svelte", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "unitTestRunner": { - "type": "string", - "enum": ["jest", "vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "vitest" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (e2e) tests.", - "default": "cypress" - }, - "directory": { - "type": "string", - "description": "A directory where the lib is placed.", - "alias": "d" - }, - "projectNameAndRootFormat": { - "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).", - "type": "string", - "enum": ["as-provided", "derived"] - }, - "publishable": { - "type": "boolean", - "description": "Create a publishable library." - }, - "buildable": { - "type": "boolean", - "default": false, - "description": "Generate a buildable library." - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like @myorg/my-awesome-lib" - }, - "simpleName": { - "description": "Don't include the directory in the name of the module of the library.", - "type": "boolean", - "default": false - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": ["name"] -} diff --git a/packages/svelte/src/generators/storybook-configuration/configuration.spec.ts b/packages/svelte/src/generators/storybook-configuration/configuration.spec.ts deleted file mode 100644 index 5d6b8242e..000000000 --- a/packages/svelte/src/generators/storybook-configuration/configuration.spec.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { - readJson, - readProjectConfiguration, - Tree, - updateJson, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { libraryGenerator } from '@nx/js'; - -import configurationGenerator from './configuration'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); - -xdescribe('@nxext/svelte:storybook-configuration', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - - let tree: Tree; - - beforeEach(async () => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - - await libraryGenerator(tree, { - name: 'test-ui-lib', - }); - }); - - it('should generate files', async () => { - await configurationGenerator(tree, { - name: 'test-ui-lib', - standaloneConfig: false, - }); - - // Root - expect(tree.exists('.storybook/main.js')).toBeTruthy(); - - // Local - expect( - tree.exists('libs/test-ui-lib/.storybook/tsconfig.json') - ).toBeTruthy(); - expect(tree.exists('libs/test-ui-lib/.storybook/main.js')).toBeTruthy(); - expect(tree.exists('libs/test-ui-lib/.storybook/preview.js')).toBeTruthy(); - - const storybookTsconfigJson = readJson<{ exclude: string[] }>( - tree, - 'libs/test-ui-lib/.storybook/tsconfig.json' - ); - - expect( - storybookTsconfigJson.exclude.includes('../**/*.spec.ts') - ).toBeTruthy(); - expect( - storybookTsconfigJson.exclude.includes('../**/*.spec.tsx') - ).toBeFalsy(); - expect( - storybookTsconfigJson.exclude.includes('../**/*.spec.js') - ).toBeFalsy(); - expect( - storybookTsconfigJson.exclude.includes('../**/*.spec.jsx') - ).toBeFalsy(); - }); - - it('should not update root files after generating them once', async () => { - await configurationGenerator(tree, { - name: 'test-ui-lib', - standaloneConfig: false, - }); - - const newContents = `module.exports = { - stories: [], - addons: ['@storybook/addon-essentials', 'new-addon'], -}; -`; - // Setup a new lib - await libraryGenerator(tree, { - name: 'test-ui-lib-2', - }); - - tree.write('.storybook/main.js', newContents); - await configurationGenerator(tree, { - name: 'test-ui-lib-2', - standaloneConfig: false, - }); - - expect(tree.read('.storybook/main.js', 'utf-8')).toEqual(newContents); - }); - - it('should update workspace file for libs', async () => { - // Setup a new lib - await libraryGenerator(tree, { - name: 'test-ui-lib-2', - }); - await configurationGenerator(tree, { - name: 'test-ui-lib-2', - standaloneConfig: false, - }); - const project = readProjectConfiguration(tree, 'test-ui-lib-2'); - - expect(project.targets.storybook).toEqual({ - executor: '@nx/storybook:storybook', - configurations: { - ci: { - quiet: true, - }, - }, - options: { - port: 4400, - uiFramework: '@storybook/svelte', - configDir: 'libs/test-ui-lib-2/.storybook', - }, - }); - - expect(project.targets.lint).toEqual({ - executor: '@nx/linter:eslint', - outputs: ['{options.outputFile}'], - options: { - lintFilePatterns: ['libs/test-ui-lib-2/**/*.ts'], - }, - }); - }); - - it('should update `tsconfig.lib.json` file', async () => { - await configurationGenerator(tree, { - name: 'test-ui-lib', - standaloneConfig: false, - }); - const tsconfigJson = readJson(tree, 'libs/test-ui-lib/tsconfig.lib.json'); - - expect(tsconfigJson.exclude).toContain('**/*.stories.ts'); - expect(tsconfigJson.exclude).toContain('**/*.stories.js'); - }); -}); diff --git a/packages/svelte/src/generators/storybook-configuration/configuration.ts b/packages/svelte/src/generators/storybook-configuration/configuration.ts deleted file mode 100644 index ef77a8679..000000000 --- a/packages/svelte/src/generators/storybook-configuration/configuration.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { - addDependenciesToPackageJson, - convertNxGenerator, - ensurePackage, - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, - NX_VERSION, -} from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import { StorybookConfigureSchema } from './schema'; -import { svelteLoaderVersion } from '../utils/versions'; -import { updateMainJs } from './lib/update-main-js'; - -export async function configurationGenerator( - host: Tree, - schema: StorybookConfigureSchema -) { - const uiFramework = '@storybook/svelte-vite'; - const options = normalizeSchema(schema); - const tasks: GeneratorCallback[] = []; - - const installTask = await addDependenciesToPackageJson( - host, - {}, - { - 'svelte-loader': svelteLoaderVersion, - } - ); - tasks.push(installTask); - - await ensurePackage('@nx/storybook', NX_VERSION); - const { configurationGenerator } = await import('@nx/storybook'); - - const storybookTask = await configurationGenerator(host, { - name: options.name, - uiFramework, - configureCypress: options.configureCypress, - js: options.js, - linter: options.linter, - cypressDirectory: options.cypressDirectory, - standaloneConfig: options.standaloneConfig, - tsConfiguration: options.tsConfiguration, - interactionTests: options.interactionTests, - }); - tasks.push(storybookTask); - - updateMainJs(host, options); - - await formatFiles(host); - - return runTasksInSerial(...tasks); -} - -function normalizeSchema( - schema: StorybookConfigureSchema -): StorybookConfigureSchema { - const defaults = { - configureCypress: true, - linter: Linter.EsLint, - js: false, - }; - return { - ...defaults, - ...schema, - }; -} - -export default configurationGenerator; -export const configurationSchematic = convertNxGenerator( - configurationGenerator -); diff --git a/packages/svelte/src/generators/storybook-configuration/lib/update-main-js.ts b/packages/svelte/src/generators/storybook-configuration/lib/update-main-js.ts deleted file mode 100644 index 908cf3af9..000000000 --- a/packages/svelte/src/generators/storybook-configuration/lib/update-main-js.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { readProjectConfiguration, Tree } from '@nx/devkit'; -import { StorybookConfigureSchema } from '../schema'; - -export function updateMainJs(host: Tree, options: StorybookConfigureSchema) { - const config = readProjectConfiguration(host, options.name); - const mainJsFilePath = `${config.root}/.storybook/main.js`; - const content = host.read(mainJsFilePath, 'utf-8'); - const changedContend = content.replace(/src\/lib/gi, 'src/components'); - host.write(mainJsFilePath, changedContend); -} diff --git a/packages/svelte/src/generators/storybook-configuration/schema.d.ts b/packages/svelte/src/generators/storybook-configuration/schema.d.ts deleted file mode 100644 index e8a06bb21..000000000 --- a/packages/svelte/src/generators/storybook-configuration/schema.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface StorybookConfigureSchema { - name: string; - configureCypress?: boolean; - linter?: Linter; - js?: boolean; - cypressDirectory?: string; - standaloneConfig?: boolean; - tsConfiguration?: boolean; - interactionTests?: boolean; -} diff --git a/packages/svelte/src/generators/storybook-configuration/schema.json b/packages/svelte/src/generators/storybook-configuration/schema.json deleted file mode 100644 index e47f26962..000000000 --- a/packages/svelte/src/generators/storybook-configuration/schema.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "NxStorybookConfigure", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Library or application name", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "configureCypress": { - "type": "boolean", - "description": "Run the cypress-configure generator", - "x-prompt": "Configure a cypress e2e app to run against the storybook instance?" - }, - "cypressDirectory": { - "type": "string", - "description": "A directory where the Cypress project will be placed. Added at root by default." - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "js": { - "type": "boolean", - "description": "Generate JavaScript files rather than TypeScript files", - "default": false - }, - "standaloneConfig": { - "description": "Split the project configuration into `/project.json` rather than including it inside workspace.json", - "type": "boolean" - }, - "tsConfiguration": { - "type": "boolean", - "description": "Configure your project with TypeScript. Generate main.ts and preview.ts files, instead of main.js and preview.js.", - "default": false - }, - "interactionTests": { - "type": "boolean", - "description": "Add a Storybook Test-Runner target." - } - }, - "required": ["name"] -} diff --git a/packages/svelte/src/generators/utils/add-plugin-to-nx-json.ts b/packages/svelte/src/generators/utils/add-plugin-to-nx-json.ts deleted file mode 100644 index df6fe38d4..000000000 --- a/packages/svelte/src/generators/utils/add-plugin-to-nx-json.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Tree, writeJson, readNxJson } from '@nx/devkit'; - -export function addPluginToNxJson(pluginName: string, tree: Tree) { - const nxJson = readNxJson(tree); - nxJson.plugins = nxJson.plugins || []; - if (!nxJson.plugins.includes(pluginName)) { - nxJson.plugins.push(pluginName); - } - - writeJson(tree, 'nx.json', nxJson); -} diff --git a/packages/svelte/src/generators/utils/create-ts-config.ts b/packages/svelte/src/generators/utils/create-ts-config.ts deleted file mode 100644 index 40352fef0..000000000 --- a/packages/svelte/src/generators/utils/create-ts-config.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Tree } from 'nx/src/generators/tree'; -import * as shared from '@nx/js/src/utils/typescript/create-ts-config'; -import { updateJson, writeJson } from 'nx/src/generators/utils/json'; - -export function createTsConfig( - host: Tree, - projectRoot: string, - type: 'app' | 'lib', - options: { - strict?: boolean; - style?: string; - bundler?: string; - rootProject?: boolean; - unitTestRunner?: string; - }, - relativePathToRootTsConfig: string -) { - const json = { - compilerOptions: { - allowJs: false, - esModuleInterop: false, - allowSyntheticDefaultImports: true, - strict: options.strict, - }, - files: [], - include: [], - references: [ - { - path: type === 'app' ? './tsconfig.app.json' : './tsconfig.lib.json', - }, - ], - } as any; - - if (options.bundler === 'vite') { - json.compilerOptions.types = - options.unitTestRunner === 'vitest' - ? ['vite/client', 'vitest'] - : ['vite/client']; - } - - // inline tsconfig.base.json into the project - if (options.rootProject) { - json.compileOnSave = false; - json.compilerOptions = { - ...shared.tsConfigBaseOptions, - ...json.compilerOptions, - }; - json.exclude = ['node_modules', 'tmp']; - } else { - json.extends = relativePathToRootTsConfig; - } - - writeJson(host, `${projectRoot}/tsconfig.json`, json); - - const tsconfigProjectPath = `${projectRoot}/tsconfig.${type}.json`; - if (options.bundler === 'vite' && host.exists(tsconfigProjectPath)) { - updateJson(host, tsconfigProjectPath, (json) => { - json.compilerOptions ??= {}; - - const types = new Set(json.compilerOptions.types ?? []); - types.add('node'); - types.add('vite/client'); - - json.compilerOptions.types = Array.from(types); - - return json; - }); - } -} - -export function extractTsConfigBase(host: Tree) { - shared.extractTsConfigBase(host); - - if (host.exists('vite.config.ts')) { - const vite = host.read('vite.config.ts').toString(); - host.write( - 'vite.config.ts', - vite.replace(`projects: []`, `projects: ['tsconfig.base.json']`) - ); - } -} diff --git a/packages/svelte/src/generators/utils/lint.ts b/packages/svelte/src/generators/utils/lint.ts deleted file mode 100644 index 2502af870..000000000 --- a/packages/svelte/src/generators/utils/lint.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { eslintPluginSvelteVersion } from './versions'; -import { offsetFromRoot } from '@nx/devkit'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - 'eslint-plugin-svelte3': eslintPluginSvelteVersion, - }, -}; - -export const createSvelteEslintJson = (projectRoot: string) => ` -module.exports = { - "parser": "@typescript-eslint/parser", - "plugins": ["svelte3", "@typescript-eslint"], - "extends": ["${offsetFromRoot(projectRoot)}/.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.js", "*.svelte"], - "parserOptions": { - "project": ["${projectRoot}/tsconfig.*?.json"] - }, - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.svelte"], - "processor": "svelte3/svelte3" - } - ], - "settings": { - 'svelte3/typescript': require('typescript') - } -}`; diff --git a/packages/svelte/src/generators/utils/targets.ts b/packages/svelte/src/generators/utils/targets.ts deleted file mode 100644 index d2e638a65..000000000 --- a/packages/svelte/src/generators/utils/targets.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { joinPathFragments, TargetConfiguration } from '@nx/devkit'; -import { NormalizedSchema as ApplicationSchema } from '../application/schema'; -import { NormalizedSchema as LibrarySchema } from '../library/schema'; - -export function createLintAndCheckTargets( - options: LibrarySchema | ApplicationSchema -): { - [key: string]: TargetConfiguration; -} { - return { - lint: createLintTarget(options), - check: createSvelteCheckTarget(options), - }; -} - -export function createSvelteCheckTarget( - options: LibrarySchema | ApplicationSchema -): TargetConfiguration { - return { - executor: 'nx:run-commands', - options: { - command: 'svelte-check', - cwd: options.projectRoot, - }, - }; -} - -export function createLintTarget( - options: LibrarySchema | ApplicationSchema -): TargetConfiguration { - return { - executor: '@nx/linter:lint', - options: { - linter: 'eslint', - tsConfig: joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - exclude: [ - '**/node_modules/**', - `!${joinPathFragments(options.projectRoot, '**/*')}`, - ], - }, - }; -} diff --git a/packages/svelte/src/generators/utils/testing.ts b/packages/svelte/src/generators/utils/testing.ts deleted file mode 100644 index 3a0244f10..000000000 --- a/packages/svelte/src/generators/utils/testing.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import applicationGenerator from '../application/application'; -import { Tree, ProjectType } from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import { libraryGenerator } from '../library/library'; - -export async function createTestProject( - name: string, - type: ProjectType = 'application', - tree: Tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }), - unitTestrunner: 'none' | 'jest' = 'none', - e2eTestrunner: 'none' | 'cypress' = 'none' -): Promise { - tree.write( - 'package.json', - ` - { - "name": "test-name", - "dependencies": {}, - "devDependencies": { - "@nx/workspace": "0.0.0" - } - } - ` - ); - - if (type === 'application') { - await applicationGenerator(tree, { - name: name, - linter: Linter.EsLint, - unitTestRunner: unitTestrunner, - e2eTestRunner: e2eTestrunner, - }); - } - if (type === 'library') { - await libraryGenerator(tree, { - name: name, - linter: Linter.EsLint, - unitTestRunner: unitTestrunner, - e2eTestRunner: e2eTestrunner, - buildable: true, - skipFormat: false, - }); - } - - return tree; -} diff --git a/packages/svelte/src/generators/utils/versions.ts b/packages/svelte/src/generators/utils/versions.ts deleted file mode 100644 index cbaa07983..000000000 --- a/packages/svelte/src/generators/utils/versions.ts +++ /dev/null @@ -1,9 +0,0 @@ -export const eslintPluginSvelteVersion = '^4.0.0'; -export const svelteVersion = '^4.2.1'; -export const svelteJesterVersion = '^2.3.2'; -export const svelteCheckVersion = '^2.10.2'; -export const svelteLoaderVersion = '^3.1.9'; -export const sveltePreprocessVersion = '^5.0.4'; -export const tsconfigSvelteVersion = '^4.0.1'; -export const testingLibrarySvelteVersion = '^3.2.2'; -export const vitePluginSvelteVersion = '^1.0.1'; diff --git a/packages/svelte/src/graph/TypeScriptSvelteImportLocator.ts b/packages/svelte/src/graph/TypeScriptSvelteImportLocator.ts deleted file mode 100644 index cf2d764d8..000000000 --- a/packages/svelte/src/graph/TypeScriptSvelteImportLocator.ts +++ /dev/null @@ -1,162 +0,0 @@ -import * as path from 'path'; -import type * as ts from 'typescript'; -import { DependencyType, workspaceRoot } from '@nx/devkit'; -import { Scanner } from 'typescript'; -import { stripSourceCode } from 'nx/src/plugins/js/project-graph/build-dependencies/strip-source-code'; -import { readFileSync } from 'fs'; -import { join } from 'path'; - -let tsModule: typeof import('typescript'); - -/** - * This class is originally from TypeScriptImportLocator in nx: - * https://github.com/nrwl/nx/blob/05a9544806e8573bac5eef542a8e8c1b6115dc18/packages/nx/src/project-graph/build-dependencies/typescript-import-locator.ts - */ -export class TypeScriptSvelteImportLocator { - private readonly scanner: Scanner; - - constructor() { - tsModule = require('typescript'); - this.scanner = tsModule.createScanner(tsModule.ScriptTarget.Latest, false); - } - - fromFile( - filePath: string, - visitor: ( - importExpr: string, - filePath: string, - type: DependencyType - ) => void - ): void { - const extension = path.extname(filePath); - if (extension !== '.svelte') { - return; - } - const content = readFileSync(join(workspaceRoot, filePath), 'utf-8'); - const strippedContent = stripSourceCode(this.scanner, content); - if (strippedContent !== '') { - const tsFile = tsModule.createSourceFile( - filePath, - strippedContent, - tsModule.ScriptTarget.Latest, - true - ); - this.fromNode(filePath, tsFile, visitor); - } - } - - fromNode( - filePath: string, - node: any, - visitor: ( - importExpr: string, - filePath: string, - type: DependencyType - ) => void - ): void { - if ( - tsModule.isImportDeclaration(node) || - (tsModule.isExportDeclaration(node) && node.moduleSpecifier) - ) { - if (!this.ignoreStatement(node)) { - const imp = this.getStringLiteralValue(node.moduleSpecifier); - visitor(imp, filePath, DependencyType.static); - } - return; // stop traversing downwards - } - - if ( - tsModule.isCallExpression(node) && - node.expression.kind === tsModule.SyntaxKind.ImportKeyword && - node.arguments.length === 1 && - tsModule.isStringLiteral(node.arguments[0]) - ) { - if (!this.ignoreStatement(node)) { - const imp = this.getStringLiteralValue(node.arguments[0]); - visitor(imp, filePath, DependencyType.dynamic); - } - return; - } - - if ( - tsModule.isCallExpression(node) && - node.expression.getText() === 'require' && - node.arguments.length === 1 && - tsModule.isStringLiteral(node.arguments[0]) - ) { - if (!this.ignoreStatement(node)) { - const imp = this.getStringLiteralValue(node.arguments[0]); - visitor(imp, filePath, DependencyType.static); - } - return; - } - - if (node.kind === tsModule.SyntaxKind.PropertyAssignment) { - const name = this.getPropertyAssignmentName( - (node as ts.PropertyAssignment).name - ); - if (name === 'loadChildren') { - const init = (node as ts.PropertyAssignment).initializer; - if ( - init.kind === tsModule.SyntaxKind.StringLiteral && - !this.ignoreLoadChildrenDependency(node.getFullText()) - ) { - const childrenExpr = this.getStringLiteralValue(init); - visitor(childrenExpr, filePath, DependencyType.dynamic); - return; // stop traversing downwards - } - } - } - - /** - * Continue traversing down the AST from the current node - */ - tsModule.forEachChild(node, (child) => - this.fromNode(filePath, child, visitor) - ); - } - - private ignoreStatement(node: ts.Node) { - return stripSourceCode(this.scanner, node.getFullText()) === ''; - } - - private ignoreLoadChildrenDependency(contents: string): boolean { - this.scanner.setText(contents); - let token = this.scanner.scan(); - while (token !== tsModule.SyntaxKind.EndOfFileToken) { - if ( - token === tsModule.SyntaxKind.SingleLineCommentTrivia || - token === tsModule.SyntaxKind.MultiLineCommentTrivia - ) { - const start = this.scanner.getStartPos() + 2; - token = this.scanner.scan(); - const isMultiLineCommentTrivia = - token === tsModule.SyntaxKind.MultiLineCommentTrivia; - const end = - this.scanner.getStartPos() - (isMultiLineCommentTrivia ? 2 : 0); - const comment = contents.substring(start, end).trim(); - if (comment === 'nx-ignore-next-line') { - return true; - } - } else { - token = this.scanner.scan(); - } - } - return false; - } - - private getPropertyAssignmentName(nameNode: ts.PropertyName) { - switch (nameNode.kind) { - case tsModule.SyntaxKind.Identifier: - return (nameNode as ts.Identifier).getText(); - case tsModule.SyntaxKind.StringLiteral: - return (nameNode as ts.StringLiteral).text; - default: - return null; - } - } - - private getStringLiteralValue(node: ts.Node): string { - return node.getText().slice(1, -1); - } -} diff --git a/packages/svelte/src/graph/processProjectGraph.ts b/packages/svelte/src/graph/processProjectGraph.ts deleted file mode 100644 index 8531b05ad..000000000 --- a/packages/svelte/src/graph/processProjectGraph.ts +++ /dev/null @@ -1,91 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { - ProjectGraph, - ProjectGraphProcessorContext, - ProjectGraphBuilder, - DependencyType, - ProjectFileMap, -} from '@nx/devkit'; - -import { TypeScriptSvelteImportLocator } from './TypeScriptSvelteImportLocator'; -import { TargetProjectLocator } from 'nx/src/plugins/js/project-graph/build-dependencies/target-project-locator'; - -export type ExplicitDependency = { - sourceProjectName: string; - targetProjectName: string; - sourceProjectFile: string; - type?: DependencyType.static | DependencyType.dynamic; -}; - -export async function processProjectGraph( - graph: ProjectGraph, - context: ProjectGraphProcessorContext -) { - const builder = new ProjectGraphBuilder(graph); - const filesToProcess = context.filesToProcess; - if (Object.keys(filesToProcess).length == 0) { - return graph; - } - - const explicitDependencies: ExplicitDependency[] = - buildExplicitTypeScriptDependencies(graph, filesToProcess); - explicitDependencies.forEach((dependency: ExplicitDependency) => { - builder.addStaticDependency( - dependency.sourceProjectName, - dependency.targetProjectName, - dependency.sourceProjectFile - ); - }); - - return builder.getUpdatedProjectGraph(); -} - -export function buildExplicitTypeScriptDependencies( - graph: ProjectGraph, - filesToProcess: ProjectFileMap -) { - function isRoot(projectName: string) { - return graph.nodes[projectName]?.data?.root === '.'; - } - - const importLocator = new TypeScriptSvelteImportLocator(); - const targetProjectLocator = new TargetProjectLocator( - graph.nodes, - graph?.externalNodes || {} - ); - - const res: ExplicitDependency[] = []; - Object.keys(filesToProcess).forEach((source) => { - Object.values(filesToProcess[source]).forEach((f) => { - importLocator.fromFile(f.file, (importExpr: any) => { - const target = targetProjectLocator.findProjectWithImport( - importExpr, - f.file - ); - let targetProjectName; - if (target) { - if (!isRoot(source) && isRoot(target)) { - // TODO: These edges technically should be allowed but we need to figure out how to separate config files out from root - return; - } - - targetProjectName = target; - } else { - // treat all unknowns as npm packages, they can be eiher - // - mistyped local import, which has to be fixed manually - // - node internals, which should still be tracked as a dependency - // - npm packages, which are not yet installed but should be tracked - targetProjectName = `npm:${importExpr}`; - } - - res.push({ - sourceProjectName: source, - targetProjectName, - sourceProjectFile: f.file, - }); - }); - }); - }); - - return res; -} diff --git a/packages/svelte/src/index.ts b/packages/svelte/src/index.ts deleted file mode 100644 index 4f19acae0..000000000 --- a/packages/svelte/src/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { libraryGenerator } from './generators/library/library'; -export { applicationGenerator } from './generators/application/application'; -export { componentGenerator } from './generators/component/component'; -export { processProjectGraph } from './graph/processProjectGraph'; diff --git a/packages/svelte/src/migrations/utils/migration-utils.ts b/packages/svelte/src/migrations/utils/migration-utils.ts deleted file mode 100644 index 4d98346ce..000000000 --- a/packages/svelte/src/migrations/utils/migration-utils.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { getProjects, ProjectConfiguration, Tree } from '@nx/devkit'; - -export function getSvelteLegacyTargetProjects(tree: Tree) { - const projects = getProjects(tree); - const filtered = new Map(); - projects.forEach((value: ProjectConfiguration, key: string) => { - if (isSvelteLegacyTargetProject(value)) { - filtered.set(key, value); - } - }); - - return filtered; -} - -export function isSvelteLegacyTargetProject(project: any): boolean { - return ['build', 'test', 'serve', 'e2e'] - .map((command) => { - const target = - project.targets && project.targets[command] - ? project.targets[command] - : {}; - return target && target.executor === `@nxext/svelte:${command}`; - }) - .some((value) => value === true); -} - -export function getSvelteProjects(tree: Tree) { - const projects = getProjects(tree); - const filtered = new Map(); - projects.forEach((value: ProjectConfiguration, key: string) => { - if (isSvelteProject(value)) { - filtered.set(key, value); - } - }); - - return filtered; -} - -export function isSvelteProject(project: any): boolean { - return ['build', 'test', 'serve', 'e2e'] - .map((command) => { - const target = - project.targets && project.targets[command] - ? project.targets[command] - : {}; - return ( - target && - (((target.executor === `@nxext/vite:${command}` || - target.executor === `@nxext/vite:package`) && - target?.options?.frameworkConfigFile.startsWith('@nxext/svelte')) || - target.executor === `@nxext/svelte:${command}`) - ); - }) - .some((value) => value === true); -} diff --git a/packages/svelte/tsconfig.json b/packages/svelte/tsconfig.json deleted file mode 100644 index 62ebbd946..000000000 --- a/packages/svelte/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/svelte/tsconfig.lib.json b/packages/svelte/tsconfig.lib.json deleted file mode 100644 index 3ce6be94e..000000000 --- a/packages/svelte/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "jest.config.ts"], - "include": ["**/*.ts"] -} diff --git a/packages/svelte/tsconfig.spec.json b/packages/svelte/tsconfig.spec.json deleted file mode 100644 index 831ab6481..000000000 --- a/packages/svelte/tsconfig.spec.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts", - "jest.config.ts" - ] -} diff --git a/packages/sveltekit/README.md b/packages/sveltekit/README.md deleted file mode 100644 index f6f6794fa..000000000 --- a/packages/sveltekit/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# @nxext/sveltekit - -This library is experimental, be aware... - -Right now there are the `app` and `component` generators. - -## Getting Started - -Add this plugin to an existing NX workspace: - -```bash -yarn add --dev @nxext/sveltekit -``` - -or - -```bash -npm install @nxext/sveltekit --save-dev -``` - -Generate a new application: - -```bash -nx g @nxext/sveltekit:app my-app -``` - -## Run your project - -> Note: you may see an error in your command line when you run any of the following commands with older versions of this extension: `config.kit.target is no longer required, and should be removed`. If you see this error, remove the `kit` object from your `svelte.config.js` file at the root of your app. - -- Run `nx serve my-app` to run the app locally (open http://localhost:3000 in your browser) -- Run `nx test my-app` to test the app -- Run `nx build my-app` to create a build of your app. - -## Documentation - -The full docs can be found [here](https://nxext.dev/docs/sveltekit/overview). diff --git a/packages/sveltekit/builders.json b/packages/sveltekit/builders.json deleted file mode 100644 index 1c1715d31..000000000 --- a/packages/sveltekit/builders.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "executors": { - "dev": { - "implementation": "./src/executors/dev/executor", - "schema": "./src/executors/dev/schema.json", - "description": "dev executor" - } - } -} diff --git a/packages/sveltekit/eslint.config.js b/packages/sveltekit/eslint.config.js deleted file mode 100644 index dee4f4ea8..000000000 --- a/packages/sveltekit/eslint.config.js +++ /dev/null @@ -1,37 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { - files: [ - 'packages/sveltekit/**/*.ts', - 'packages/sveltekit/**/*.tsx', - 'packages/sveltekit/**/*.js', - 'packages/sveltekit/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/sveltekit/**/*.ts', 'packages/sveltekit/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/sveltekit/**/*.js', 'packages/sveltekit/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: [ - 'packages/sveltekit/package.json', - 'packages/sveltekit/generators.json', - 'packages/sveltekit/executors.json', - 'packages/sveltekit/generators.json', - ], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/sveltekit/executors.json b/packages/sveltekit/executors.json deleted file mode 100644 index 08d826139..000000000 --- a/packages/sveltekit/executors.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "executors": { - "add": { - "implementation": "./src/executors/add/executor", - "schema": "./src/executors/add/schema.json", - "description": "add executor" - } - } -} diff --git a/packages/sveltekit/generators.json b/packages/sveltekit/generators.json deleted file mode 100644 index 52c8adeb9..000000000 --- a/packages/sveltekit/generators.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "name": "sveltekit", - "version": "0.0.1", - "generators": { - "application": { - "factory": "./src/generators/application/generator", - "schema": "./src/generators/application/schema.json", - "description": "sveltekit app generator", - "aliases": ["app"] - }, - "component": { - "factory": "./src/generators/component/component", - "schema": "./src/generators/component/schema.json", - "description": "component generator" - } - } -} diff --git a/packages/sveltekit/jest.config.ts b/packages/sveltekit/jest.config.ts deleted file mode 100644 index 54b34d843..000000000 --- a/packages/sveltekit/jest.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'sveltekit', - - globals: {}, - transform: { - '^.+\\.[tj]sx?$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/packages/sveltekit', - testEnvironment: 'node', - preset: '../../jest.preset.js', -}; diff --git a/packages/sveltekit/package.json b/packages/sveltekit/package.json deleted file mode 100644 index 393ffa478..000000000 --- a/packages/sveltekit/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@nxext/sveltekit", - "version": "16.7.0-next.0", - "license": "MIT", - "author": "Dominik Pieper", - "description": "Nx plugin for Sveltekit", - "homepage": "https://nxext.dev/", - "keywords": [ - "nx", - "nx-plugin", - "sveltekit" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/sveltekit" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "main": "src/index.js", - "generators": "./generators.json", - "executors": "./executors.json", - "dependencies": { - "tslib": "^2.3.0", - "@nx/devkit": "^16.9.1", - "typescript": "5.1.6", - "nx": "^16.9.1" - }, - "peerDependencies": { - "@nx/linter": "^16.9.1", - "@nx/vite": "^16.9.1" - } -} diff --git a/packages/sveltekit/project.json b/packages/sveltekit/project.json deleted file mode 100644 index 2dfa3a8f9..000000000 --- a/packages/sveltekit/project.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "sveltekit", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/sveltekit/src", - "projectType": "library", - "targets": { - "lint": { - "executor": "@nx/linter:eslint", - "options": { - "lintFilePatterns": [ - "packages/sveltekit/**/*.ts", - "packages/sveltekit/generators.json", - "packages/sveltekit/executors.json", - "packages/sveltekit/project.json", - "packages/sveltekit/package.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/sveltekit"], - "options": { - "jestConfig": "packages/sveltekit/jest.config.ts", - "passWithNoTests": true - } - }, - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/packages/sveltekit", - "tsConfig": "packages/sveltekit/tsconfig.lib.json", - "packageJson": "packages/sveltekit/package.json", - "main": "packages/sveltekit/src/index.ts", - "assets": [ - "packages/sveltekit/*.md", - { - "input": "./packages/sveltekit/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/sveltekit/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/sveltekit", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/sveltekit", - "glob": "executors.json", - "output": "." - } - ] - } - }, - "publish": { - "command": "node tools/scripts/publish.mjs sveltekit {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/sveltekit/src/executors/add/executor.spec.ts b/packages/sveltekit/src/executors/add/executor.spec.ts deleted file mode 100644 index 8936004d4..000000000 --- a/packages/sveltekit/src/executors/add/executor.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { AddExecutorSchema } from './schema'; -import executor from './executor'; -import { ExecutorContext } from '@nx/devkit'; - -const options: AddExecutorSchema = { - package: 'tailwind', -}; - -describe('Add Executor', () => { - let context: ExecutorContext; - - beforeEach(async () => { - const projectName = 'example'; - context = { - root: '/root', - cwd: '/root', - workspace: { - version: 2, - npmScope: 'proj', - projects: { - [projectName]: { - root: '/', - targets: {}, - }, - }, - }, - isVerbose: false, - projectName: projectName, - targetName: 'build', - }; - }); - - xit('can run', async () => { - const output = await executor(options, context); - expect(output.success).toBe(true); - }); -}); diff --git a/packages/sveltekit/src/executors/add/executor.ts b/packages/sveltekit/src/executors/add/executor.ts deleted file mode 100644 index 77442ad5c..000000000 --- a/packages/sveltekit/src/executors/add/executor.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { - ExecutorContext, - getPackageManagerCommand, - joinPathFragments, - readJsonFile, - writeJsonFile, -} from '@nx/devkit'; -import { sortObjectByKeys } from 'nx/src/utils/object-sort'; -import { default as runCommands } from 'nx/src/executors/run-commands/run-commands.impl'; -import { AddExecutorSchema } from './schema'; - -export default async function runExecutor( - options: AddExecutorSchema, - context: ExecutorContext -) { - const projectDir = context.workspace.projects[context.projectName].root; - const projectRoot = joinPathFragments(`${context.root}/${projectDir}`); - - const globalPackageJsonPath = joinPathFragments( - `${context.root}/package.json` - ); - const globalPackageJson = readJsonFile(globalPackageJsonPath); - const packageJsonPath = joinPathFragments(`${projectRoot}/package.json`); - const packageJson = readJsonFile(packageJsonPath); - const packageJsonOriginal = Object.assign({}, packageJson); - - packageJson.devDependencies = {}; - writeJsonFile(packageJsonPath, packageJson); - - const packageName = 'svelte-add'; - const packageVersion = globalPackageJson?.devDependencies?.[ - packageName - ]?.replace(/[\\~^]/g, ''); - - await runCommands( - { - command: `npx --package=${packageName}@${packageVersion} svelte-add ${options.package}`, - cwd: projectRoot, - parallel: false, - color: true, - __unparsed__: [], - }, - context - ); - - const packageJsonAfterRun = readJsonFile(packageJsonPath); - const devDependencies = packageJsonAfterRun.devDependencies; - - globalPackageJson.devDependencies = { - ...(globalPackageJson.devDependencies || {}), - ...devDependencies, - ...(globalPackageJson.devDependencies || {}), - }; - globalPackageJson.devDependencies = sortObjectByKeys( - globalPackageJson.devDependencies - ); - - writeJsonFile(globalPackageJsonPath, globalPackageJson); - writeJsonFile(packageJsonPath, packageJsonOriginal); - - await runCommands( - { - command: getPackageManagerCommand().install, - parallel: false, - color: true, - __unparsed__: [], - }, - context - ); - - return { - success: true, - }; -} diff --git a/packages/sveltekit/src/executors/add/schema.d.ts b/packages/sveltekit/src/executors/add/schema.d.ts deleted file mode 100644 index e18d32e53..000000000 --- a/packages/sveltekit/src/executors/add/schema.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface AddExecutorSchema { - package: string; -} diff --git a/packages/sveltekit/src/executors/add/schema.json b/packages/sveltekit/src/executors/add/schema.json deleted file mode 100644 index e5bae7e40..000000000 --- a/packages/sveltekit/src/executors/add/schema.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Add executor", - "description": "", - "type": "object", - "properties": { - "package": { - "description": "Package you want to install", - "type": "string", - "enum": [ - "tailwindcss", - "mdsvex", - "graphql", - "postcss", - "bulma", - "windicss", - "firebase-hosting" - ] - } - }, - "required": ["package"] -} diff --git a/packages/sveltekit/src/executors/sveltekit/executor.spec.ts b/packages/sveltekit/src/executors/sveltekit/executor.spec.ts deleted file mode 100644 index 2df96d179..000000000 --- a/packages/sveltekit/src/executors/sveltekit/executor.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { SveltekitExecutorOptions } from './schema'; -import executor from './executor'; -import { ExecutorContext } from '@nx/devkit'; - -const options: SveltekitExecutorOptions = { - command: 'build', -}; - -describe('Sveltekit Executor', () => { - let context: ExecutorContext; - - beforeEach(async () => { - const projectName = 'example'; - context = { - root: '/root', - cwd: '/root', - workspace: { - version: 2, - npmScope: 'proj', - projects: { - [projectName]: { - root: '/', - targets: {}, - }, - }, - }, - isVerbose: false, - projectName: projectName, - targetName: 'build', - }; - }); - - xit('can run', async () => { - const output = await executor(options, context); - expect(output.success).toBe(true); - }); -}); diff --git a/packages/sveltekit/src/executors/sveltekit/executor.ts b/packages/sveltekit/src/executors/sveltekit/executor.ts deleted file mode 100644 index c12890885..000000000 --- a/packages/sveltekit/src/executors/sveltekit/executor.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ExecutorContext, joinPathFragments, logger } from '@nx/devkit'; -import { default as runCommands } from 'nx/src/executors/run-commands/run-commands.impl'; -import { SveltekitExecutorOptions } from './schema'; - -export default async function runExecutor( - options: SveltekitExecutorOptions, - context: ExecutorContext -) { - const projectDir = context.workspace.projects[context.projectName].root; - const projectRoot = joinPathFragments(`${context.root}/${projectDir}`); - const portOption = options.command === 'dev' ? ` --port ${options.port}` : ''; - - const result = await runCommands( - { - command: `svelte-kit ${options.command}${portOption}`, - cwd: projectRoot, - parallel: false, - color: true, - __unparsed__: [], - }, - context - ); - - if (result.success) { - logger.info('Build executed...'); - } else { - logger.error('Error while building...'); - } - - return result; -} diff --git a/packages/sveltekit/src/executors/sveltekit/schema.d.ts b/packages/sveltekit/src/executors/sveltekit/schema.d.ts deleted file mode 100644 index e249b60fc..000000000 --- a/packages/sveltekit/src/executors/sveltekit/schema.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface SveltekitExecutorOptions { - command: string; - port?: number; -} diff --git a/packages/sveltekit/src/executors/sveltekit/schema.json b/packages/sveltekit/src/executors/sveltekit/schema.json deleted file mode 100644 index 8e7dfbf3f..000000000 --- a/packages/sveltekit/src/executors/sveltekit/schema.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "version": 2, - "outputCapture": "direct-nodejs", - "$schema": "http://json-schema.org/schema", - "title": "Dev executor", - "description": "", - "type": "object", - "properties": { - "command": { - "type": "string", - "description": "Sveltekit command to run" - }, - "port": { - "type": "number", - "description": "Port to listen on.", - "default": 3000 - } - }, - "required": ["command"] -} diff --git a/packages/sveltekit/src/generators/application/files/eslintrc.cjs__template__ b/packages/sveltekit/src/generators/application/files/eslintrc.cjs__template__ deleted file mode 100644 index e0c140f9b..000000000 --- a/packages/sveltekit/src/generators/application/files/eslintrc.cjs__template__ +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - extends: [ - '<%= offsetFromRoot %>.eslintrc.json', - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'prettier', - ], - plugins: ['svelte3', '@typescript-eslint'], - ignorePatterns: ['!**/*', '*.cjs', 'vite.config.ts', 'node_modules'], - overrides: [ - { - files: ['*.svelte'], - parser: 'svelte-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser' - } - } - ], - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020, - extraFileExtensions: ['.svelte'] - }, - env: { - browser: true, - es2017: true, - node: true, - }, -}; diff --git a/packages/sveltekit/src/generators/application/files/package.json__template__ b/packages/sveltekit/src/generators/application/files/package.json__template__ deleted file mode 100644 index cbea73165..000000000 --- a/packages/sveltekit/src/generators/application/files/package.json__template__ +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "<%= fileName %>", - "version": "0.0.1", - "type": "module", - "devDependencies": { - "svelte": "<%= offsetFromRoot %>node_modules/svelte" - } -} diff --git a/packages/sveltekit/src/generators/application/files/src/app.d.ts__template__ b/packages/sveltekit/src/generators/application/files/src/app.d.ts__template__ deleted file mode 100644 index 1cea0dcf2..000000000 --- a/packages/sveltekit/src/generators/application/files/src/app.d.ts__template__ +++ /dev/null @@ -1,9 +0,0 @@ -// See https://kit.svelte.dev/docs/types#app -// for information about these interfaces -// and what to do when importing types -declare namespace App { - // interface Error {} - // interface Locals {} - // interface PageData {} - // interface Platform {} -} diff --git a/packages/sveltekit/src/generators/application/files/src/app.html__template__ b/packages/sveltekit/src/generators/application/files/src/app.html__template__ deleted file mode 100644 index effe0d0d2..000000000 --- a/packages/sveltekit/src/generators/application/files/src/app.html__template__ +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - diff --git a/packages/sveltekit/src/generators/application/files/src/index.test.ts__template__ b/packages/sveltekit/src/generators/application/files/src/index.test.ts__template__ deleted file mode 100644 index 964d28725..000000000 --- a/packages/sveltekit/src/generators/application/files/src/index.test.ts__template__ +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, it, expect } from 'vitest'; - -describe('sum test', () => { - it('adds 1 + 2 to equal 3', () => { - expect(1 + 2).toBe(3); - }); -}); diff --git a/packages/sveltekit/src/generators/application/files/src/routes/+page.svelte__template__ b/packages/sveltekit/src/generators/application/files/src/routes/+page.svelte__template__ deleted file mode 100644 index 5982b0ae3..000000000 --- a/packages/sveltekit/src/generators/application/files/src/routes/+page.svelte__template__ +++ /dev/null @@ -1,2 +0,0 @@ -

Welcome to SvelteKit

-

Visit kit.svelte.dev to read the documentation

diff --git a/packages/sveltekit/src/generators/application/files/static/favicon.ico b/packages/sveltekit/src/generators/application/files/static/favicon.ico deleted file mode 100644 index 010ff2edf68229a0646aeca741a6ed8df3a83b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2122 zcmbtVTQ5UF5T4Rf+N5=D;>in@R1qO0Zqcf^1WkAl*F;4K62X%MzfAljf5Gm2JA1b0 zY+H?LznPt#{pQ=*JqJ-t{bjSHaFlN2M8iZhp?)f)B8V$Pq~`il`0?0<)t~P#q5yl@ zpJZHR9A`{0x+|l8zyiiOT2}13z)}OdV&Zxw>WG#oyUgg^88Rz}_rY)t6T+=m1d?S~ zt4DLxct>foFKCyl7-{U3O4%K7{0Aq_u-fWy_m7^-F13`pP4nr{Y>=Ja zG|F5>aw7FwMnp^bDMY7+g>%ER06S8R=KLknRWdxT9=9X#liVYfnpj7^oYK)d#-A_> z4^1SqjZo#;PI;aDDZ;W_uGHn6iKsCOMS+*>kHL$Ud1EIYRq|{G_oZ7@=gp04L|kh$ z(N;Wex-ZX)r%PH}kEklN*y!>-%J=QU`ZsZGHOi@59lDzOvW{qXNOUGQEJaJ_!)6Tb z!KFo5x$`zbIV%q)N8Wr|(U9p&{qs~5HF7gOkCjUu@-IW<=&)o6rTeU6z^es!dQKF@ z%-x>8in6vFk=+S5*Y9vt)OQ6+GCcn%%2O3ot-eL8-`P;^0B&8SsZb?dO+NZ;P%p+= z_C%zveP7FI%KtUJa^5h5ML2ynsDt-bkyln2XBksIE>+``NZ}e|hOwKm)4>?~K*ZgM K>thxSitQIh71ARB diff --git a/packages/sveltekit/src/generators/application/files/static/favicon.png b/packages/sveltekit/src/generators/application/files/static/favicon.png deleted file mode 100644 index 38d58659593b68e43b33583fefab152fcf26479a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2846 zcmZ8j>rc~H7;b4PrGT`!LPc&xK!#931|sFsa%;PCQxL=fR+P)QI4M<%0&ZqzX4$fA zi6M(-mxN`>KAJ4q2aL&#W=74JE>5$teOdgr_%G~ve2@J#B+vW2m(z28=e+NG4!pd5 ztGC;iX34hbbh@;FzwHS0%iFhv%|_^V55o7r&@UYEwQvx~dG(t_aG=fGAC=$;)EuPF zdNkPuT`XbYjNz8I&nCN^3>xDH#*7BI1?B{&!)o-_#Si^;{oK8E1WF+JlQOassx=I1 z5Z^7z9}*3oh181YnwWWQNq}1fX4PV)u0Ow&NM9RtH^k(XKq1ufvn$W9Lh~?!l;#vM z>I~hkf#g^mMksTB0%|x@g0pG#vcws-JifM6-78MfDs(%fdh-kLp)h|~d0`ry0kJ>; z&irRxITG4hx2)P=c0odAprJQp0KBh;KdoE<1skj?^Jn4BTMWlJ0x5L+<}*fN>`(!y zhBOdxe@!$v90A>Z-|}K(Lt;jmWjhIXSwhTeeqj;VaG_H|t;~CY*yY(~7)QlfgbG9x zO=lhR5=ez&8JUB02q*ah(c+GWSMml1;2fw2xyQKG>R~GwVBUQmkg0nH%z3J`JNRoL zC`!1;nzv$7KR|?)@&%a$K?NH)#N~2KnaoyRWJ>GGa`};PSLJ*rtnow;GY|Mx!|xt} zGx%Jkj>X8$1?@fzT6R_x@go4wo22c<33n<|Z$I<lu`5Q2c!PCWqJ<%h9 zJy6qZ%u1eQp9I0~PBA(CO~`(6!CHf`$$%^^2k`t3uN~@yjIsUuA;XY?LH&gKfZxqK zHU_CnW~y|Q^B}?fkD%EaK*5q;>)3l&M-Nu0&&sfk(}A2`(2Eam@)q*C<&H)Iy=7c- zC|T{D$Jhprc>DBa7i00_h7qy39-wQS6=NpiV9I!h1l+Tw)XCh@%4rmXMM)^{XAV3q zZY~^3?QfAWE0moJ+YNvJAR*p4MjQ~n7g}~p;Q?hP(c$w|eZ`@&6nLj0o(>6Lf=UkQvEBsIev}RxpTvD@{p>>o$q9xIxCzc34pDSe_U-h8&)%6 z^WJp@dA96k5Wv@A8>+=0gnDvKKdDyQW6_S*FpaU@@zaJXE>>tU=4lt?61y)RtN>7@ z?e4)kFA?uqQnXb@6O!DAU>$?7%T!xASg-w4{IY;&0UmvDEW(#19s}a=Zlph41M}AD z_{PT2p|-+oj+GZIG7n?Xev{oZ&VEmr0;#OCtXxXaz9PC#EikT!zu2@;%1asMhgjkn z2;Vb4Z;g;F$R9sF{gj6lEFFM82jTLio1b$QyX_rEVZP@`0W9DyHy_^mgu4XTQs&~I zmV?@5zAJ{e@>J^J)bMk;5Vpq7y&!CgAvTu4#%5{et8r8UudYqcdist/out-tsc", - }, - - "include": ["src/**/*"], - "exclude": ["**/*.spec.ts", "**/*_spec.ts"], -} diff --git a/packages/sveltekit/src/generators/application/files/tsconfig.json.template b/packages/sveltekit/src/generators/application/files/tsconfig.json.template deleted file mode 100644 index 6f08aefd1..000000000 --- a/packages/sveltekit/src/generators/application/files/tsconfig.json.template +++ /dev/null @@ -1,36 +0,0 @@ -{ - "extends": "<%= offsetFromRoot %>tsconfig.base.json", - - "compilerOptions": { - "moduleResolution": "node", - "target": "es2017", - /** - Svelte Preprocess cannot figure out whether you have a value or a type, so tell TypeScript - to enforce using `import type` instead of `import` for Types. - */ - "importsNotUsedAsValues": "error", - "isolatedModules": true, - /** - To have warnings/errors of the Svelte compiler at the correct position, - enable source maps by default. - */ - "sourceMap": true, - /** Requests the runtime types from the svelte modules by default. Needed for TS files or else you get errors. */ - "types": ["svelte"], - - "strict": false, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/sveltekit/src/generators/application/files/tsconfig.spec.json.template b/packages/sveltekit/src/generators/application/files/tsconfig.spec.json.template deleted file mode 100644 index dfa0d9fc6..000000000 --- a/packages/sveltekit/src/generators/application/files/tsconfig.spec.json.template +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc", - "module": "commonjs", - "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.js", - "**/*.d.ts" - ] -} diff --git a/packages/sveltekit/src/generators/application/generator.spec.ts b/packages/sveltekit/src/generators/application/generator.spec.ts deleted file mode 100644 index 7f25068b1..000000000 --- a/packages/sveltekit/src/generators/application/generator.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { readProjectConfiguration, Tree } from '@nx/devkit'; - -import generator from './generator'; -import { SveltekitGeneratorSchema } from './schema'; -import { Linter } from '@nx/linter'; - -describe('sveltekit generator', () => { - let tree: Tree; - const options: SveltekitGeneratorSchema = { - name: 'test', - skipFormat: false, - linter: Linter.EsLint, - unitTestRunner: 'none', - }; - - beforeEach(() => { - tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should run successfully', async () => { - await generator(tree, options); - const config = readProjectConfiguration(tree, 'test'); - expect(config).toBeDefined(); - }); -}); diff --git a/packages/sveltekit/src/generators/application/generator.ts b/packages/sveltekit/src/generators/application/generator.ts deleted file mode 100644 index f80e6e571..000000000 --- a/packages/sveltekit/src/generators/application/generator.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { - addProjectConfiguration, - formatFiles, - getWorkspaceLayout, - joinPathFragments, - names, - Tree, - runTasksInSerial, - workspaceRoot, - GeneratorCallback, -} from '@nx/devkit'; -import { NormalizedSchema, SveltekitGeneratorSchema } from './schema'; -import { relative } from 'path'; -import { addLinting } from './lib/add-linting'; -import { installDependencies } from './lib/install-dependencies'; -import { addFiles } from './lib/add-project-files'; -import { createSvelteCheckTarget } from './lib/targets'; -import { addVite } from './lib/add-vite'; -import { updateViteConfig } from './lib/update-vite-config'; - -function normalizeOptions( - host: Tree, - options: SveltekitGeneratorSchema -): NormalizedSchema { - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); - const projectRoot = `${getWorkspaceLayout(host).appsDir}/${projectDirectory}`; - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - const distDir = relative( - joinPathFragments(`${workspaceRoot}/${projectRoot}`), - joinPathFragments(`${workspaceRoot}/dist/${projectRoot}`) - ); - - return { - ...options, - distDir, - projectName, - projectRoot, - projectDirectory, - parsedTags, - }; -} - -export async function applicationGenerator( - host: Tree, - schema: SveltekitGeneratorSchema -) { - const tasks: GeneratorCallback[] = []; - const options = normalizeOptions(host, schema); - - const targets = { - check: createSvelteCheckTarget(options), - add: { - executor: '@nxext/sveltekit:add', - }, - }; - - addProjectConfiguration(host, options.projectName, { - root: options.projectRoot, - projectType: 'application', - sourceRoot: `${options.projectRoot}/src`, - targets: targets, - tags: options.parsedTags, - }); - addFiles(host, options); - - const lintTask = await addLinting(host, options); - tasks.push(lintTask); - const viteTask = await addVite(host, options); - tasks.push(viteTask); - - updateViteConfig(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - if (!options.skipPackageJson) { - const installTask = installDependencies(host); - tasks.push(installTask); - } - - return runTasksInSerial(...tasks); -} - -export default applicationGenerator; diff --git a/packages/sveltekit/src/generators/application/lib/add-linting.ts b/packages/sveltekit/src/generators/application/lib/add-linting.ts deleted file mode 100644 index 457e86f5b..000000000 --- a/packages/sveltekit/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - runTasksInSerial, - NX_VERSION, - ensurePackage, -} from '@nx/devkit'; -import { extraEslintDependencies } from '../../utils/lint'; -import { NormalizedSchema } from '../schema'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - if (options.linter === 'none') { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } - - const { lintProjectGenerator } = ensurePackage( - '@nx/linter', - NX_VERSION - ); - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.name, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.app.json'), - ], - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,svelte,spec.ts}`], - skipFormat: true, - skipPackageJson: options.skipPackageJson, - }); - - host.rename( - joinPathFragments(options.projectRoot, 'eslintrc.cjs'), - joinPathFragments(options.projectRoot, '.eslintrc.cjs') - ); - host.delete(joinPathFragments(options.projectRoot, '.eslintrc.json')); - - const installTask = addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); -} diff --git a/packages/sveltekit/src/generators/application/lib/add-project-files.ts b/packages/sveltekit/src/generators/application/lib/add-project-files.ts deleted file mode 100644 index 769776fd8..000000000 --- a/packages/sveltekit/src/generators/application/lib/add-project-files.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { generateFiles, names, offsetFromRoot, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import * as path from 'path'; - -export function addFiles(host: Tree, options: NormalizedSchema) { - const templateOptions = { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - template: '', - }; - generateFiles( - host, - path.join(__dirname, '../files'), - options.projectRoot, - templateOptions - ); -} diff --git a/packages/sveltekit/src/generators/application/lib/add-vite.ts b/packages/sveltekit/src/generators/application/lib/add-vite.ts deleted file mode 100644 index 733c325a6..000000000 --- a/packages/sveltekit/src/generators/application/lib/add-vite.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - await ensurePackage('@nx/vite', NX_VERSION); - const { viteConfigurationGenerator } = await import('@nx/vite'); - - return await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.name, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: false, - }); -} diff --git a/packages/sveltekit/src/generators/application/lib/install-dependencies.ts b/packages/sveltekit/src/generators/application/lib/install-dependencies.ts deleted file mode 100644 index 5f993ad89..000000000 --- a/packages/sveltekit/src/generators/application/lib/install-dependencies.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { addDependenciesToPackageJson, Tree } from '@nx/devkit'; -import { - svelteKitAdapterVersion, - svelteKitVersion, - svelteVersion, -} from '../../utils/versions'; - -export function installDependencies(host: Tree) { - return addDependenciesToPackageJson( - host, - {}, - { - '@sveltejs/adapter-auto': svelteKitAdapterVersion, - '@sveltejs/kit': svelteKitVersion, - svelte: svelteVersion, - } - ); -} diff --git a/packages/sveltekit/src/generators/application/lib/targets.ts b/packages/sveltekit/src/generators/application/lib/targets.ts deleted file mode 100644 index 29184c3da..000000000 --- a/packages/sveltekit/src/generators/application/lib/targets.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TargetConfiguration } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function createSvelteCheckTarget( - options: NormalizedSchema -): TargetConfiguration { - return { - executor: 'nx:run-commands', - options: { - command: 'svelte-check', - cwd: options.projectRoot, - }, - }; -} diff --git a/packages/sveltekit/src/generators/application/lib/update-vite-config.ts b/packages/sveltekit/src/generators/application/lib/update-vite-config.ts deleted file mode 100644 index 16fbbe408..000000000 --- a/packages/sveltekit/src/generators/application/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - sveltekit(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import { sveltekit } from '@sveltejs/kit/vite'; - ` - ); -} diff --git a/packages/sveltekit/src/generators/application/schema.d.ts b/packages/sveltekit/src/generators/application/schema.d.ts deleted file mode 100644 index 806623c19..000000000 --- a/packages/sveltekit/src/generators/application/schema.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface SveltekitGeneratorSchema { - name: string; - unitTestRunner: 'none' | 'vitest'; - tags?: string; - directory?: string; - port?: number; - skipFormat: boolean; - linter: Linter; - skipPackageJson?: boolean; -} - -export interface NormalizedSchema extends SveltekitGeneratorSchema { - projectName: string; - projectRoot: string; - projectDirectory: string; - distDir: string; - parsedTags: string[]; -} diff --git a/packages/sveltekit/src/generators/application/schema.json b/packages/sveltekit/src/generators/application/schema.json deleted file mode 100644 index d5afd83da..000000000 --- a/packages/sveltekit/src/generators/application/schema.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Sveltekit", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed", - "alias": "d" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - }, - "skipPackageJson": { - "description": "Do not add dependencies to `package.json`.", - "type": "boolean", - "default": false, - "x-priority": "internal" - } - }, - "required": ["name"] -} diff --git a/packages/sveltekit/src/generators/component/component.spec.ts b/packages/sveltekit/src/generators/component/component.spec.ts deleted file mode 100644 index d10af4c66..000000000 --- a/packages/sveltekit/src/generators/component/component.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import componentGenerator, { SvelteComponentSchema } from './component'; -import { uniq } from '@nx/plugin/testing'; -import { names, Tree } from '@nx/devkit'; -import { createTestProject } from '../utils/testing'; - -describe('component schematic', () => { - let tree: Tree; - const projectName = uniq('testprojekt'); - const componentName = uniq('test'); - const options: SvelteComponentSchema = { - name: componentName, - project: projectName, - unitTestRunner: 'vitest', - }; - - beforeEach(async () => { - tree = await createTestProject(projectName); - }); - - it('should run successfully', async () => { - await expect(componentGenerator(tree, options)).resolves.not.toThrowError(); - }); - - it('should add file', async () => { - await componentGenerator(tree, options); - const name = names(componentName); - expect( - tree.exists( - `apps/${projectName}/src/lib/${name.fileName}/${name.className}.svelte` - ) - ); - }); -}); diff --git a/packages/sveltekit/src/generators/component/component.ts b/packages/sveltekit/src/generators/component/component.ts deleted file mode 100644 index 0b937196f..000000000 --- a/packages/sveltekit/src/generators/component/component.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { addExportsToBarrel } from './lib/add-exports-to-barrel'; -import { createComponentInProject } from './lib/create-component-in-project'; -import { Tree } from '@nx/devkit'; -export interface SvelteComponentSchema { - name: string; - project: string; - directory?: string; - unitTestRunner: 'vitest' | 'none'; -} - -export async function componentGenerator( - tree: Tree, - options: SvelteComponentSchema -) { - createComponentInProject(tree, options); - addExportsToBarrel(tree, options); -} - -export default componentGenerator; diff --git a/packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__className__.svelte.template b/packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__className__.svelte.template deleted file mode 100644 index 55ae6a481..000000000 --- a/packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__className__.svelte.template +++ /dev/null @@ -1,7 +0,0 @@ - - - - -

Hello component!

diff --git a/packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__fileName__.spec.ts.template b/packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__fileName__.spec.ts.template deleted file mode 100644 index e9bab2079..000000000 --- a/packages/sveltekit/src/generators/component/files/src/lib/__fileName__/__fileName__.spec.ts.template +++ /dev/null @@ -1,8 +0,0 @@ -import <%= fileName %> from './<%= fileName %>.svelte' -import { render } from '@testing-library/svelte' - -it('it works', async () => { - const { getByText } = render(<%= fileName %>) - - expect(getByText('Hello component!')); -}) diff --git a/packages/sveltekit/src/generators/component/lib/add-exports-to-barrel.ts b/packages/sveltekit/src/generators/component/lib/add-exports-to-barrel.ts deleted file mode 100644 index fae89927f..000000000 --- a/packages/sveltekit/src/generators/component/lib/add-exports-to-barrel.ts +++ /dev/null @@ -1,79 +0,0 @@ -import * as ts from 'typescript'; - -import { SvelteComponentSchema } from '../component'; -import { - applyChangesToString, - ChangeType, - joinPathFragments, - names, - readProjectConfiguration, - StringChange, - Tree, -} from '@nx/devkit'; -import { findNodes } from 'nx/src/utils/typescript'; - -export function addExportsToBarrel(tree: Tree, options: SvelteComponentSchema) { - const projectConfig = readProjectConfiguration(tree, options.project); - - const { className, fileName } = names(options.name); - const indexFilePath = joinPathFragments(projectConfig.sourceRoot, 'index.ts'); - const componentFile = `./components/${fileName}/${className}.svelte`; - - if (projectConfig.projectType === 'library') { - const { content, source } = readSourceFile(tree, indexFilePath); - - const changes = applyChangesToString( - content, - addExport( - source, - `export { default as default } from '${componentFile}';` - ) - ); - tree.write(indexFilePath, changes); - } -} - -export function addExport( - source: ts.SourceFile, - statement: string -): StringChange[] { - const allExports = findNodes(source, ts.SyntaxKind.ExportDeclaration); - if (allExports.length > 0) { - const lastImport = allExports[allExports.length - 1]; - return [ - { - type: ChangeType.Insert, - index: lastImport.end + 1, - text: `\n${statement}\n`, - }, - ]; - } else { - return [ - { - type: ChangeType.Insert, - index: 0, - text: `\n${statement}\n`, - }, - ]; - } -} - -function readSourceFile( - host: Tree, - path: string -): { content: string; source: ts.SourceFile } { - if (!host.exists(path)) { - throw new Error(`Cannot find ${path}`); - } - - const content = host.read(path).toString('utf-8'); - - const source = ts.createSourceFile( - path, - content, - ts.ScriptTarget.Latest, - true - ); - - return { content, source }; -} diff --git a/packages/sveltekit/src/generators/component/lib/create-component-in-project.ts b/packages/sveltekit/src/generators/component/lib/create-component-in-project.ts deleted file mode 100644 index b1f0f8ec1..000000000 --- a/packages/sveltekit/src/generators/component/lib/create-component-in-project.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { - generateFiles, - joinPathFragments, - names, - readProjectConfiguration, - Tree, -} from '@nx/devkit'; -import { SvelteComponentSchema } from '../component'; - -export function createComponentInProject( - tree: Tree, - options: SvelteComponentSchema -) { - const projectConfig = readProjectConfiguration(tree, options.project); - const projectDirectory = options.directory ?? ''; - - generateFiles( - tree, - joinPathFragments(__dirname, '../files/src'), - joinPathFragments(`${projectConfig.sourceRoot}/${projectDirectory}`), - names(options.name) - ); -} diff --git a/packages/sveltekit/src/generators/component/schema.json b/packages/sveltekit/src/generators/component/schema.json deleted file mode 100644 index e1b72e006..000000000 --- a/packages/sveltekit/src/generators/component/schema.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Component", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "project": { - "type": "string", - "description": "Project where the component is generated", - "x-prompt": "What project would you like to use?", - "alias": "p" - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "vitest" - } - }, - "required": ["name", "project"] -} diff --git a/packages/sveltekit/src/generators/utils/lint.ts b/packages/sveltekit/src/generators/utils/lint.ts deleted file mode 100644 index 23f33d1e4..000000000 --- a/packages/sveltekit/src/generators/utils/lint.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { eslintPluginSvelteVersion } from './versions'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - 'eslint-plugin-svelte': eslintPluginSvelteVersion, - }, -}; diff --git a/packages/sveltekit/src/generators/utils/testing.ts b/packages/sveltekit/src/generators/utils/testing.ts deleted file mode 100644 index 2038f312d..000000000 --- a/packages/sveltekit/src/generators/utils/testing.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree } from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import applicationGenerator from '../application/generator'; - -export async function createTestProject( - name: string, - unitTestrunner: 'none' | 'vitest' = 'none' -): Promise { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - tree.write( - 'package.json', - ` - { - "name": "test-name", - "dependencies": {}, - "devDependencies": { - "@nx/workspace": "0.0.0" - } - } - ` - ); - - await applicationGenerator(tree, { - name: name, - linter: Linter.EsLint, - skipFormat: false, - unitTestRunner: unitTestrunner, - }); - - return tree; -} diff --git a/packages/sveltekit/src/generators/utils/versions.ts b/packages/sveltekit/src/generators/utils/versions.ts deleted file mode 100644 index 6c3d2f194..000000000 --- a/packages/sveltekit/src/generators/utils/versions.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const eslintPluginSvelteVersion = '^2.26.0'; -export const svelteVersion = '^3.54.0'; -export const svelteKitVersion = '^1.16.3'; -export const svelteKitAdapterVersion = '^2.0.1'; diff --git a/packages/sveltekit/src/index.ts b/packages/sveltekit/src/index.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/sveltekit/tsconfig.json b/packages/sveltekit/tsconfig.json deleted file mode 100644 index 62ebbd946..000000000 --- a/packages/sveltekit/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/sveltekit/tsconfig.lib.json b/packages/sveltekit/tsconfig.lib.json deleted file mode 100644 index 3ce6be94e..000000000 --- a/packages/sveltekit/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "exclude": ["**/*.spec.ts", "jest.config.ts"], - "include": ["**/*.ts"] -} diff --git a/packages/sveltekit/tsconfig.spec.json b/packages/sveltekit/tsconfig.spec.json deleted file mode 100644 index 831ab6481..000000000 --- a/packages/sveltekit/tsconfig.spec.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.spec.js", - "**/*.spec.jsx", - "**/*.d.ts", - "jest.config.ts" - ] -} diff --git a/packages/vue/.babelrc b/packages/vue/.babelrc deleted file mode 100644 index 158083d27..000000000 --- a/packages/vue/.babelrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "presets": [ - [ - "@nx/web/babel", - { - "useBuiltIns": "usage" - } - ] - ] -} diff --git a/packages/vue/README.md b/packages/vue/README.md deleted file mode 100644 index e4bb317b0..000000000 --- a/packages/vue/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# @nxext/vue - -[![License](https://img.shields.io/npm/l/@nxext/svelte.svg?style=flat-square)]() - -**Not feature complete yet** - -## Getting Started - -Add this plugin to an Nx workspace: - -``` -yarn add --dev @nxext/vue -``` - -or - -``` -npm install @nxext/vue --save-dev -``` - -Generate your project: - -``` -nx g @nxext/vue:app my-app -``` - -Or a library with: - -``` -nx g @nxext/vue:library my-lib -``` - -#Use your project - -- Run `nx build my-app` to build the app -- Run `nx test my-app` to test the app -- Run `nx e2e my-app` to run the e2e tests - -#Documentation - -The full docs are found [here](https://nxext.dev/docs/vue/overview) diff --git a/packages/vue/eslint.config.js b/packages/vue/eslint.config.js deleted file mode 100644 index 5afd243f5..000000000 --- a/packages/vue/eslint.config.js +++ /dev/null @@ -1,36 +0,0 @@ -const { FlatCompat } = require('@eslint/eslintrc'); -const baseConfig = require('../../eslint.config.js'); -const js = require('@eslint/js'); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); -module.exports = [ - ...baseConfig, - { - files: [ - 'packages/vue/**/*.ts', - 'packages/vue/**/*.tsx', - 'packages/vue/**/*.js', - 'packages/vue/**/*.jsx', - ], - rules: {}, - }, - { - files: ['packages/vue/**/*.ts', 'packages/vue/**/*.tsx'], - rules: {}, - }, - { - files: ['packages/vue/**/*.js', 'packages/vue/**/*.jsx'], - rules: {}, - }, - ...compat.config({ parser: 'jsonc-eslint-parser' }).map((config) => ({ - ...config, - files: [ - 'packages/vue/package.json', - 'packages/vue/generators.json', - 'packages/vue/executors.json', - ], - rules: { '@nx/nx-plugin-checks': 'error' }, - })), -]; diff --git a/packages/vue/generators.json b/packages/vue/generators.json deleted file mode 100644 index dbb830461..000000000 --- a/packages/vue/generators.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "name": "vue", - "version": "0.0.1", - "generators": { - "init": { - "factory": "./src/generators/init/init", - "schema": "./src/generators/init/schema.json", - "description": "Initialize the `@nxext/vue` plugin.", - "hidden": true - }, - "application": { - "factory": "./src/generators/application/application", - "schema": "./src/generators/application/schema.json", - "description": "Create a Vue application.", - "aliases": ["app"] - }, - "library": { - "factory": "./src/generators/library/library", - "schema": "./src/generators/library/schema.json", - "description": "library generator", - "aliases": ["lib"] - }, - "component": { - "factory": "./src/generators/component/component", - "schema": "./src/generators/component/schema.json", - "description": "component generator", - "aliases": ["c"] - }, - "preset": { - "factory": "./src/generators/preset/preset", - "schema": "./src/generators/preset/schema.json", - "description": "preset generator", - "x-use-standalone-layout": true - }, - "storybook-configuration": { - "factory": "./src/generators/storybook-configuration/configuration", - "schema": "./src/generators/storybook-configuration/schema.json", - "description": "storybook-configuration generator" - }, - "setup-tailwind": { - "factory": "./src/generators/setup-tailwind/setup-tailwind", - "schema": "./src/generators/setup-tailwind/schema.json", - "description": "setup-tailwind generator" - } - } -} diff --git a/packages/vue/jest.config.ts b/packages/vue/jest.config.ts deleted file mode 100644 index 832d1acf2..000000000 --- a/packages/vue/jest.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'vue', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/vue', -}; diff --git a/packages/vue/package.json b/packages/vue/package.json deleted file mode 100644 index ce448e61b..000000000 --- a/packages/vue/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@nxext/vue", - "version": "16.7.0", - "license": "MIT", - "author": "Dominik Pieper", - "description": "Nx plugin for Vue", - "homepage": "https://nxext.dev/", - "keywords": [ - "vite", - "vitest", - "vue", - "cypress", - "playwright" - ], - "repository": { - "type": "git", - "url": "https://github.com/nxext/nx-extensions", - "directory": "packages/vue" - }, - "bugs": { - "url": "https://github.com/nxext/nx-extensions/issues" - }, - "main": "./src/index.js", - "typings": "./src/index.d.ts", - "generators": "./generators.json", - "dependencies": { - "@nx/devkit": "^16.9.1", - "tslib": "^2.3.0", - "typescript": "5.1.6", - "@nx/workspace": "^16.9.1", - "nx": "^16.9.1", - "@nxext/core": "^16.8.0" - }, - "peerDependencies": { - "@nx/js": "^16.9.1", - "@nx/linter": "^16.9.1", - "@nx/vite": "^16.9.1", - "@nx/storybook": "^16.9.1", - "@nx/cypress": "^16.9.1", - "@nx/playwright": "^16.9.1" - }, - "peerDependenciesMeta": { - "@nx/storybook": { - "optional": true - }, - "@nx/cypress": { - "optional": true - }, - "@nx/playwright": { - "optional": true - } - } -} diff --git a/packages/vue/project.json b/packages/vue/project.json deleted file mode 100644 index f92b49326..000000000 --- a/packages/vue/project.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "vue", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/vue/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/packages/vue", - "main": "packages/vue/src/index.ts", - "additionalEntryPoints": ["packages/vue/src/tailwind.ts"], - "packageJson": "packages/vue/package.json", - "tsConfig": "packages/vue/tsconfig.lib.json", - "assets": [ - "packages/vue/*.md", - { - "input": "./packages/vue/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./packages/vue/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./packages/vue", - "glob": "generators.json", - "output": "." - }, - { - "input": "./packages/vue", - "glob": "executors.json", - "output": "." - }, - { - "input": "./packages/vue", - "glob": "migrations.json", - "output": "." - } - ] - } - }, - "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": [ - "packages/vue/**/*.ts", - "packages/vue/generators.json", - "packages/vue/executors.json", - "packages/vue/package.json", - "packages/vue/project.json" - ] - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "packages/vue/jest.config.ts", - "passWithNoTests": true - } - }, - "publish": { - "command": "node tools/scripts/publish.mjs vue {args.ver} {args.tag}", - "dependsOn": ["build"] - } - }, - "tags": [] -} diff --git a/packages/vue/src/generators/application/application.spec.ts b/packages/vue/src/generators/application/application.spec.ts deleted file mode 100644 index eac3c5b26..000000000 --- a/packages/vue/src/generators/application/application.spec.ts +++ /dev/null @@ -1,200 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { readJson, readProjectConfiguration, Tree } from '@nx/devkit'; -import { applicationGenerator } from './application'; -import { Schema } from './schema'; -import { Linter } from '@nx/linter'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); - -describe('app generator', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - - let host: Tree; - const projectName = 'my-app'; - const options: Schema = { - name: projectName, - linter: Linter.EsLint, - unitTestRunner: 'vitest', - e2eTestRunner: 'none', - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should run successfully', async () => { - await applicationGenerator(host, options); - const config = readProjectConfiguration(host, projectName); - expect(config).toBeDefined(); - }); - - it('should extend from root tsconfig.base.json', async () => { - await applicationGenerator(host, options); - - const tsConfig = readJson(host, 'apps/my-app/tsconfig.json'); - expect(tsConfig.extends).toEqual('../../tsconfig.base.json'); - }); - - it('should generate files', async () => { - await applicationGenerator(host, options); - - expect(host.exists('apps/my-app/vite.config.ts')).toBeTruthy(); - expect(host.exists('apps/my-app/index.html')).toBeTruthy(); - expect(host.exists('apps/my-app/src/App.vue')).toBeTruthy(); - expect(host.exists('apps/my-app/src/main.ts')).toBeTruthy(); - - const tsconfig = readJson(host, 'apps/my-app/tsconfig.json'); - expect(tsconfig.references).toEqual([ - { - path: './tsconfig.app.json', - }, - { - path: './tsconfig.spec.json', - }, - ]); - expect(tsconfig.compilerOptions.allowJs).toEqual(true); - const tsconfigApp = readJson(host, 'apps/my-app/tsconfig.app.json'); - expect(tsconfigApp.compilerOptions.outDir).toEqual('../../dist/out-tsc'); - expect(tsconfigApp.extends).toEqual('./tsconfig.json'); - expect(tsconfigApp.exclude).toEqual([ - 'jest.config.ts', - 'src/**/*.spec.ts', - 'src/**/*.test.ts', - 'src/**/*.spec.tsx', - 'src/**/*.test.tsx', - 'src/**/*.spec.js', - 'src/**/*.test.js', - 'src/**/*.spec.jsx', - 'src/**/*.test.jsx', - ]); - - const eslintJson = readJson(host, 'apps/my-app/.eslintrc.json'); - expect(eslintJson.extends).toEqual([ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting', - '../../.eslintrc.json', - ]); - }); - - it('should generate files in root', async () => { - await applicationGenerator(host, { ...options, rootProject: true }); - - expect(host.exists('vite.config.ts')).toBeTruthy(); - expect(host.exists('index.html')).toBeTruthy(); - expect(host.exists('src/App.vue')).toBeTruthy(); - expect(host.exists('src/main.ts')).toBeTruthy(); - - const tsconfig = readJson(host, 'tsconfig.json'); - expect(tsconfig.compilerOptions.allowJs).toEqual(true); - const tsconfigApp = readJson(host, 'tsconfig.app.json'); - expect(tsconfigApp.compilerOptions.outDir).toEqual('./dist/out-tsc'); - expect(tsconfigApp.extends).toEqual('./tsconfig.json'); - expect(tsconfigApp.exclude).toEqual([ - 'jest.config.ts', - 'src/**/*.spec.ts', - 'src/**/*.test.ts', - 'src/**/*.spec.tsx', - 'src/**/*.test.tsx', - 'src/**/*.spec.js', - 'src/**/*.test.js', - 'src/**/*.spec.jsx', - 'src/**/*.test.jsx', - ]); - - const eslintJson = readJson(host, '.eslintrc.json'); - expect(eslintJson.extends).toEqual([ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting', - './.eslintrc.json', - ]); - }); - - describe('e2e', () => { - describe('cypress', () => { - it('integrated - should generate files', async () => { - await applicationGenerator(host, { - ...options, - e2eTestRunner: 'cypress', - }); - - expect(host.exists('apps/my-app-e2e/cypress.config.ts')).toBeTruthy(); - const tsconfigE2E = readJson(host, 'apps/my-app-e2e/tsconfig.json'); - expect(tsconfigE2E).toMatchInlineSnapshot(` - Object { - "compilerOptions": Object { - "allowJs": true, - "outDir": "../../dist/out-tsc", - "sourceMap": false, - "types": Array [ - "cypress", - "node", - ], - }, - "extends": "../../tsconfig.base.json", - "include": Array [ - "src/**/*.ts", - "src/**/*.js", - "cypress.config.ts", - ], - } - `); - }); - it('standalone - should generate files', async () => { - await applicationGenerator(host, { - ...options, - rootProject: true, - e2eTestRunner: 'cypress', - }); - - expect(host.exists('e2e/cypress.config.ts')).toBeTruthy(); - const tsconfigE2E = readJson(host, 'e2e/tsconfig.json'); - expect(tsconfigE2E).toMatchInlineSnapshot(` - Object { - "compilerOptions": Object { - "allowJs": true, - "outDir": "../dist/out-tsc", - "sourceMap": false, - "types": Array [ - "cypress", - "node", - ], - }, - "extends": "../tsconfig.base.json", - "include": Array [ - "src/**/*.ts", - "src/**/*.js", - "cypress.config.ts", - ], - } - `); - }); - }); - - describe('playwright', () => { - it('integrated - should generate files', async () => { - await applicationGenerator(host, { - ...options, - e2eTestRunner: 'playwright', - }); - - expect( - host.exists('apps/my-app-e2e/playwright.config.ts') - ).toBeTruthy(); - }); - it('standalone - should generate files', async () => { - await applicationGenerator(host, { - ...options, - rootProject: true, - e2eTestRunner: 'playwright', - }); - - expect(host.exists('e2e/playwright.config.ts')).toBeTruthy(); - }); - }); - }); -}); diff --git a/packages/vue/src/generators/application/application.ts b/packages/vue/src/generators/application/application.ts deleted file mode 100644 index dbd75d841..000000000 --- a/packages/vue/src/generators/application/application.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { formatFiles, Tree, runTasksInSerial } from '@nx/devkit'; -import { Schema } from './schema'; -import { addProject } from './lib/add-project'; -import { createApplicationFiles } from './lib/create-application-files'; -import { normalizeOptions } from './lib/normalize-options'; -import { addE2e } from './lib/add-e2e'; -import { addLinting } from './lib/add-linting'; -import initGenerator from '../init/init'; -import { addVite } from './lib/add-vite'; -import { setDefaults } from './lib/set-defaults'; - -export async function applicationGenerator(host: Tree, schema: Schema) { - const options = normalizeOptions(host, schema); - - addProject(host, options); - createApplicationFiles(host, options); - setDefaults(host, options); - - const initTask = await initGenerator(host, { - ...options, - skipFormat: true, - }); - const viteTask = await addVite(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - const lintTask = await addLinting(host, options); - const e2eTask = await addE2e(host, options); - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(initTask, viteTask, lintTask, e2eTask); -} - -export default applicationGenerator; diff --git a/packages/vue/src/generators/application/files/base/index.html__template__ b/packages/vue/src/generators/application/files/base/index.html__template__ deleted file mode 100644 index 05b7ac70a..000000000 --- a/packages/vue/src/generators/application/files/base/index.html__template__ +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/packages/vue/src/generators/application/files/base/public/favicon.ico b/packages/vue/src/generators/application/files/base/public/favicon.ico deleted file mode 100644 index 42957189c47a4a9a7702b1c25a3bed1f06ab4eb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19175 zcmeHP>2F;}6(477(xgo)Qku3_;wpuNbji}hO_MtH5@N@8nl_8=c;C0@EpcNfPF{?V zK=1*vRi%Q$2ZWGHzk&o3r4maes9GeJHVp+n@CWcO@H^)>=Vso0_bs*qRMoTQ&di-V zcjlbmJ#*&FnR#}u%&m6&_Bo^#?%!{{`5EUbopTixQOOqP%eNpWwMN%y399WzO}y%Q zamf??dz48jE+J4tpoBmPff52G1WE|31c8>l?k-#dxL~5>id*-|(+m6Eu0nm)?sThX z8e9je56e3UV@0QZs6Fo1hJB!9z^y{u?am3N@?k@WiW5?^U@i zwEMKxr)MQizaa6#DT(J!x~*X|x$=eCk3KwFZGS31`_sqW#_<~IzgGe1sggXxfKQ7@ z;x|7?xosYRakm9+m@rvey}nJu!~~+nm#aXePrJHYyvNIn#iIRy^w3cli;k(|QgciZ zX?t4o(1pwK?9 zakkvl1kT#a5SC7NHi_7LW%=OnI)mfnps?0;$i0}<+GL%pgw{X}$_0VA+$bfCrxcVf z)hF|(r5s_oAjIE`i;3x!PIp%lwMk{b;ci@Oip2wh0S1!rNY%Kzfd`(3h`gktF{g-J zX_lvRO%kURwQkd}Hs+T!cBC0;D@aYJ47r;x_p1*giRr8|aK8Z;8bUl&7z^r9V$ofh zEgKUxuFYc+43n2sd(JEWS9P9S&t95|N#d036XGn~? zO?ep4c!b{C?^_2cAEQzP8uj_4qD{?9kHsP3EG`ve&$-27u%P`zENBs3Q5hMkl~!Ai zNQ_`sM4Z=L_tR_n9^yw^GgwWyVbunisSz61Fl}o1{g0nPcKDbSaONy5B^k)5?g)_? zIpz)m8ML=lY_6-dIH#kiU+3X|n{q}xM!B$vm(OlM|9}2j7vd>Sfk+ypGGe< zM!EVZw+Ff2!vbR@MabuqqugU^@Tl7`tlDxkFJ9R?h9l~#O3|chm+oU8Au}hIs&%#g zyKgj*(_1ey{qTF+k-7Pbh}z9p)@%Hv#IIgL{QlPwF`P#7&tDyn?)Ne``T)|gYLPCC zJj5$N&Cl0B?fmew($=W*42^_*f@aoP%4;K?rLL%CT~sZ_b->(8XK&L(pg=ff7-RCm zH<;f1j!$3BybsVz@d;utY4hdCPu7W?4XK^crxqzOjK*nKVY$Qd5N$*={0sd@+|~ir zI73+&PN+T#XL^`|$AMs)D9$Q!gNpYZHwMSNY67*7;$moxax+nGF3L?sxeHP5WR#PU zdZ}Jk>68%43~?kL5sno_;20XxkVLdI4=m9-afH@GeoV0;j-g3CUFXU$JEmz%jw#OV zruWo=`-sPPpQ2} z%*b1>%3gG=LpJ82AM$CRPfdyTtOkh)BO85s57Q3OgjbqGWG|`uC1_-WjP)q1WFA25C=#;J z=up6WDupJBEeCG4@`J!#l=kIsyw;_AbZB=fz={J2%#s0l$#KWH78oj4E*>Szgwyx*ibizP=FIWgs8x!6;*JC z+EU>MPVHwO$JVR=D?9{q4Ma+3UpNp|X7E)q946-ux*I9|Y9P)=i%CWC>1LxCtqi$` z5NE9QJ3KrlKIi0q@kNQf@32ww9BPxQJ^4AKxv>`F5Wymy6$?$Gb%wq|G2(!R7_Bol zBps`BH&D@3M)6?arIb4oHYIuK(~17=a@B}0NC85NyY&Ti8*=#&O392aw>g?%3XKAc z`{S+3{nDTaJw{a8URHDxz<7N!-UnO&H~6tYuhNRt7I^w8ac`-OG;;t><2XW&KfKlI zL;;_352O96Yp2|~`9^nPw%#>jggl1j#l{@3YH_iA`!SNGd8w5!Wz8q`g5J}9qSpzN zV|GSogV2Mu{aJHG^v^c1`0xYqn16 z3zm8%IGP4WQ{ZO`+)UxC$u)zyx#&&5q_#_CB?L+cln^K(aOV+#0UQgu8vA6GE#3uw z0=|yP!Ya5gk3HWM-n;digWAsR$aD8x#14&!}k{p+~aW=l!mYX z`Tt+pZhVCbT-CUu6aV;KK=(;j=2ZzP2BakPa*DfEr{D(C*rfN^V;*S8{W9btzJ9@6-~HMIgGtuMmN*q zZ^%7Ps@9I^{(w1%3;R`Nb9q*e6guPob>A^!;Jc=L62>iBvPMpad@*{szHXin{#h~{1ID1?|k3*vOUIL`M?O~!Eecb#y3te9g^XBqmW`CyOZuW zIvBZ$G@+D_s`DE?4|xg_k;e0Qxoy!X=H2c@*kPClsp1vbm_;)E#7{}L^pD$H@Wia9 zFz`?mJ-^&KpVwWm(K>nSsvdJmAT3U+-P^v4vD%T_XAWxj;95wgI^2pis^JN&rU#Hz z^RNkz^6S=8f@^tG zkhfYM0iIMPG^|^Z=*sqc<9y`0w|(?$GO@n*lPbg?y?F}phd)1#m|+)^%Z(ymq=d9_ zOn{%t_&1^yQvGvBoST^Rs&Ws&j~*S%3r%j#gsM@V7eGh0D_3Z2r`*k~slX;(J2NqK zH`(Ztqj>X8@C9YTAmxTYP|C^a#}W5e94tl#!L*wq!Cg(BV8E^;9&@*q{YM<=dMNp8Q0^#U95<9o zdh_Ae9{2jDj7Nphg>5L?H?TCD6FvHhHwK*?$us=b=%K}PT1e(OZ4S(F-4;RTbJ*04 zHszB^4?h9Li5tQG6C8E-8R=BF=*p}Jv%5@b>G6<0SL0vM1l2p89HVJ!@3nw)y#hL#L1Dfl5H61pT>p%-%$E1A+U4=AoTx(uunXs2>YVG{9KIt z+qU`boVaok^k`6+s+V+&{uptKKHRrYs?Ho1BXVZ(Im8IQvnAyC-cn=noQh#kfh+Qy zega1#^wBO{M=|^E!TLaF>+U1|B-;U?mU2~y$DLYf$aT4$h+EvVSY7UxSs4K7A6k(I z8q@NF*`Y`7Myp*je-?7vtosA}5jChk;NJeK+8r>~`m8BQ!{%s!VJWZ{hQ(Gc8|gm!d7P1*(EXI-u{ssC%^S(*T3HQvK+ggsFQ(5T(Um{EnuG0 z!B4a6Cr-Fue_P!#@~TJ7+E?WIq&b9c>1?(^mJ*z30s7Nn2NW9~++z)hqAY;Vx!--u z3~O7gO*uKu-K)nf^*}BUS8`bnAfAXz5qqL6VXCb_P53w60JWRKWeq=pwUw0OefdS-bzGykR6JquuEXTt4eHY{KWdWR`?!<=djwV5 kiD~(1=eEJr*@jKKE&gZGYk=gM0p~Vh>#m&JcZu)*2WxU%CjbBd diff --git a/packages/vue/src/generators/application/files/base/src/App.vue__template__ b/packages/vue/src/generators/application/files/base/src/App.vue__template__ deleted file mode 100644 index 0923beaaf..000000000 --- a/packages/vue/src/generators/application/files/base/src/App.vue__template__ +++ /dev/null @@ -1,90 +0,0 @@ - - - - - diff --git a/packages/vue/src/generators/application/files/base/src/assets/logo.svg b/packages/vue/src/generators/application/files/base/src/assets/logo.svg deleted file mode 100644 index 74bfcc885..000000000 --- a/packages/vue/src/generators/application/files/base/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/vue/src/generators/application/files/base/src/assets/main.css__template__ b/packages/vue/src/generators/application/files/base/src/assets/main.css__template__ deleted file mode 100644 index 71cf33d60..000000000 --- a/packages/vue/src/generators/application/files/base/src/assets/main.css__template__ +++ /dev/null @@ -1,108 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - position: relative; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: color 0.5s, background-color 0.5s; - line-height: 1.6; - font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, - Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/packages/vue/src/generators/application/files/base/src/components/HelloWorld.spec.ts__template__ b/packages/vue/src/generators/application/files/base/src/components/HelloWorld.spec.ts__template__ deleted file mode 100644 index 858414727..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/HelloWorld.spec.ts__template__ +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from './HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/packages/vue/src/generators/application/files/base/src/components/HelloWorld.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/HelloWorld.vue__template__ deleted file mode 100644 index fa6117eab..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/HelloWorld.vue__template__ +++ /dev/null @@ -1,40 +0,0 @@ - - - - - diff --git a/packages/vue/src/generators/application/files/base/src/components/TheWelcome.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/TheWelcome.vue__template__ deleted file mode 100644 index a70765c23..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/TheWelcome.vue__template__ +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/packages/vue/src/generators/application/files/base/src/components/WelcomeItem.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/WelcomeItem.vue__template__ deleted file mode 100644 index ba0def33c..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/WelcomeItem.vue__template__ +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/packages/vue/src/generators/application/files/base/src/components/icons/IconCommunity.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/icons/IconCommunity.vue__template__ deleted file mode 100644 index 2dc8b0552..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/icons/IconCommunity.vue__template__ +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/packages/vue/src/generators/application/files/base/src/components/icons/IconDocumentation.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/icons/IconDocumentation.vue__template__ deleted file mode 100644 index 6d4791cfb..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/icons/IconDocumentation.vue__template__ +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/packages/vue/src/generators/application/files/base/src/components/icons/IconEcosystem.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/icons/IconEcosystem.vue__template__ deleted file mode 100644 index c3a4f078c..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/icons/IconEcosystem.vue__template__ +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/packages/vue/src/generators/application/files/base/src/components/icons/IconSupport.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/icons/IconSupport.vue__template__ deleted file mode 100644 index 7452834d3..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/icons/IconSupport.vue__template__ +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/packages/vue/src/generators/application/files/base/src/components/icons/IconTooling.vue__template__ b/packages/vue/src/generators/application/files/base/src/components/icons/IconTooling.vue__template__ deleted file mode 100644 index 660598d7c..000000000 --- a/packages/vue/src/generators/application/files/base/src/components/icons/IconTooling.vue__template__ +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/packages/vue/src/generators/application/files/base/src/main.ts__template__ b/packages/vue/src/generators/application/files/base/src/main.ts__template__ deleted file mode 100644 index c37c909c0..000000000 --- a/packages/vue/src/generators/application/files/base/src/main.ts__template__ +++ /dev/null @@ -1,11 +0,0 @@ -import { createApp } from 'vue'; -import App from './App.vue'; -<% if (routing) { %>import router from './router';<% } %> - -import './assets/main.css'; - -const app = createApp(App); - -<% if (routing) { %>app.use(router);<% } %> - -app.mount('#app'); diff --git a/packages/vue/src/generators/application/files/base/src/vue-shims.d.ts__template__ b/packages/vue/src/generators/application/files/base/src/vue-shims.d.ts__template__ deleted file mode 100644 index 798e8fcfa..000000000 --- a/packages/vue/src/generators/application/files/base/src/vue-shims.d.ts__template__ +++ /dev/null @@ -1,5 +0,0 @@ -declare module '*.vue' { - import { defineComponent } from 'vue'; - const component: ReturnType; - export default component; -} diff --git a/packages/vue/src/generators/application/files/base/tsconfig.app.json__template__ b/packages/vue/src/generators/application/files/base/tsconfig.app.json__template__ deleted file mode 100644 index c733ef11e..000000000 --- a/packages/vue/src/generators/application/files/base/tsconfig.app.json__template__ +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "<%= offsetFromRoot %>dist/out-tsc" - }, - "files": [], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", "src/**/*.test.tsx", "src/**/*.spec.js", "src/**/*.test.js", "src/**/*.spec.jsx", "src/**/*.test.jsx"], - "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] -} diff --git a/packages/vue/src/generators/application/files/routing/src/router/index.ts__template__ b/packages/vue/src/generators/application/files/routing/src/router/index.ts__template__ deleted file mode 100644 index a49ae507f..000000000 --- a/packages/vue/src/generators/application/files/routing/src/router/index.ts__template__ +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/packages/vue/src/generators/application/files/routing/src/views/AboutView.vue__template__ b/packages/vue/src/generators/application/files/routing/src/views/AboutView.vue__template__ deleted file mode 100644 index 756ad2a17..000000000 --- a/packages/vue/src/generators/application/files/routing/src/views/AboutView.vue__template__ +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/packages/vue/src/generators/application/files/routing/src/views/HomeView.vue__template__ b/packages/vue/src/generators/application/files/routing/src/views/HomeView.vue__template__ deleted file mode 100644 index d5c0217e4..000000000 --- a/packages/vue/src/generators/application/files/routing/src/views/HomeView.vue__template__ +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/packages/vue/src/generators/application/lib/add-e2e.ts b/packages/vue/src/generators/application/lib/add-e2e.ts deleted file mode 100644 index 5a5dc0b0f..000000000 --- a/packages/vue/src/generators/application/lib/add-e2e.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - addProjectConfiguration, - ensurePackage, - getPackageManagerCommand, - joinPathFragments, - NX_VERSION, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export async function addE2e(host: Tree, options: NormalizedSchema) { - if (options.e2eTestRunner === 'cypress') { - await ensurePackage('@nx/cypress', NX_VERSION); - const { cypressProjectGenerator } = await import('@nx/cypress'); - return await cypressProjectGenerator(host, { - ...options, - name: options.e2eProjectName, - directory: options.e2eProjectRoot, - // the name and root are already normalized, instruct the generator to use them as is - projectNameAndRootFormat: 'as-provided', - project: options.appProjectName, - bundler: 'vite', - skipFormat: true, - }); - } - - if (options.e2eTestRunner === 'playwright') { - await ensurePackage('@nx/playwright', NX_VERSION); - const { configurationGenerator } = await import('@nx/playwright'); - addProjectConfiguration(host, options.e2eProjectName, { - root: options.e2eProjectRoot, - sourceRoot: joinPathFragments(options.e2eProjectRoot, 'src'), - targets: {}, - implicitDependencies: [options.appProjectName], - }); - return configurationGenerator(host, { - project: options.e2eProjectName, - skipFormat: true, - skipPackageJson: false, - directory: 'src', - js: false, - linter: options.linter, - setParserOptionsProject: false, - webServerCommand: `${getPackageManagerCommand().exec} nx serve ${ - options.name - }`, - webServerAddress: 'http://localhost:4200', - }); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; -} diff --git a/packages/vue/src/generators/application/lib/add-linting.ts b/packages/vue/src/generators/application/lib/add-linting.ts deleted file mode 100644 index e81cab5f1..000000000 --- a/packages/vue/src/generators/application/lib/add-linting.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { extendVueEslintJson, extraEslintDependencies } from '../../utils/lint'; -import { NormalizedSchema } from '../schema'; -import { - addDependenciesToPackageJson, - GeneratorCallback, - joinPathFragments, - Tree, - updateJson, - runTasksInSerial, - ensurePackage, - NX_VERSION, -} from '@nx/devkit'; -import { mapLintPattern } from '@nxext/core'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - const tasks: GeneratorCallback[] = []; - if (options.linter === 'eslint') { - ensurePackage('@nx/linter', NX_VERSION); - const { lintProjectGenerator } = await import('@nx/linter'); - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.appProjectName, - tsConfigPaths: [ - joinPathFragments(options.appProjectRoot, 'tsconfig.app.json'), - ], - unitTestRunner: options.unitTestRunner, - eslintFilePatterns: [ - mapLintPattern( - options.appProjectRoot, - '{ts,tsx,js,jsx}', - options.rootProject - ), - ], - skipFormat: true, - rootProject: options.rootProject, - }); - tasks.push(lintTask); - - updateJson( - host, - joinPathFragments(options.appProjectRoot, '.eslintrc.json'), - extendVueEslintJson - ); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - { - ...extraEslintDependencies.devDependencies, - } - ); - tasks.push(installTask); - } - return runTasksInSerial(...tasks); -} diff --git a/packages/vue/src/generators/application/lib/add-project.ts b/packages/vue/src/generators/application/lib/add-project.ts deleted file mode 100644 index 567e412ef..000000000 --- a/packages/vue/src/generators/application/lib/add-project.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { addProjectConfiguration, ProjectConfiguration } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function addProject(host, options: NormalizedSchema) { - const project: ProjectConfiguration = { - root: options.appProjectRoot, - sourceRoot: `${options.appProjectRoot}/src`, - projectType: 'application', - targets: {}, - tags: options.parsedTags, - }; - - addProjectConfiguration(host, options.appProjectName, { - ...project, - }); -} diff --git a/packages/vue/src/generators/application/lib/add-vite.ts b/packages/vue/src/generators/application/lib/add-vite.ts deleted file mode 100644 index 1a9b4c2d9..000000000 --- a/packages/vue/src/generators/application/lib/add-vite.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ensurePackage, NX_VERSION, Tree } from '@nx/devkit'; -import { NormalizedSchema, Schema } from '../schema'; -import { updateViteConfig } from './update-vite-config'; - -export async function addVite(host: Tree, options: NormalizedSchema) { - await ensurePackage('@nx/vite', NX_VERSION); - const { viteConfigurationGenerator } = await import('@nx/vite'); - - const viteTask = await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.appProjectName, - newProject: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: options.inSourceTests, - }); - updateViteConfig(host, options); - return viteTask; -} diff --git a/packages/vue/src/generators/application/lib/create-application-files.ts b/packages/vue/src/generators/application/lib/create-application-files.ts deleted file mode 100644 index 0cdf9c382..000000000 --- a/packages/vue/src/generators/application/lib/create-application-files.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { generateFiles, names, offsetFromRoot, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { join } from 'path'; -import { createTsConfig } from '../../utils/create-ts-config'; -import { getRelativePathToRootTsConfig } from '@nx/js'; - -export function createApplicationFiles(host: Tree, options: NormalizedSchema) { - const relativePathToRootTsConfig = getRelativePathToRootTsConfig( - host, - options.appProjectRoot - ); - const templateOptions = { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.appProjectRoot), - template: '', - }; - generateFiles( - host, - join(__dirname, '../files/base'), - options.appProjectRoot, - templateOptions - ); - - if (options.routing) { - generateFiles( - host, - join(__dirname, '../files/routing'), - options.appProjectRoot, - templateOptions - ); - } - - createTsConfig( - host, - options.appProjectRoot, - 'app', - options, - relativePathToRootTsConfig - ); -} diff --git a/packages/vue/src/generators/application/lib/normalize-options.ts b/packages/vue/src/generators/application/lib/normalize-options.ts deleted file mode 100644 index 641923b55..000000000 --- a/packages/vue/src/generators/application/lib/normalize-options.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - extractLayoutDirectory, - getWorkspaceLayout, - names, - normalizePath, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema, Schema } from '../schema'; - -export function normalizeDirectory(options: Schema) { - const { projectDirectory } = extractLayoutDirectory(options.directory); - return projectDirectory - ? `${names(projectDirectory).fileName}/${names(options.name).fileName}` - : names(options.name).fileName; -} - -export function normalizeProjectName(options: Schema) { - return normalizeDirectory(options).replace(new RegExp('/', 'g'), '-'); -} -export function normalizeOptions( - host: Tree, - options: Schema -): NormalizedSchema { - const name = names(options.name).fileName; - const projectDirectory = options.directory - ? `${names(options.directory).fileName}/${name}` - : name; - const appDirectory = normalizeDirectory(options); - const appProjectName = normalizeProjectName(options); - const { layoutDirectory } = extractLayoutDirectory(options.directory); - const appsDir = layoutDirectory ?? getWorkspaceLayout(host).appsDir; - const appProjectRoot = options.rootProject - ? '.' - : normalizePath(`${appsDir}/${appDirectory}`); - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - const routing = options.routing || false; - const rootProject = false; - let e2eProjectRoot = 'e2e'; - let e2eProjectName = 'e2e'; - if (!options.rootProject) { - e2eProjectName = `${names(options.name).fileName}-e2e`; - e2eProjectRoot = normalizePath(`${appsDir}/${projectDirectory}-e2e`); - } - - return { - ...options, - appProjectName, - e2eProjectName, - e2eProjectRoot, - appProjectRoot, - rootProject, - projectDirectory, - parsedTags, - routing, - } as NormalizedSchema; -} diff --git a/packages/vue/src/generators/application/lib/set-defaults.ts b/packages/vue/src/generators/application/lib/set-defaults.ts deleted file mode 100644 index 1d1d6c24e..000000000 --- a/packages/vue/src/generators/application/lib/set-defaults.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { readNxJson, Tree, updateNxJson } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function setDefaults(host: Tree, options: NormalizedSchema) { - if (options.skipNxJson) { - return; - } - - const nxJson = readNxJson(host); - - if (options.rootProject) { - nxJson.defaultProject = options.appProjectName; - } - - nxJson.generators = nxJson.generators || {}; - nxJson.generators['@nxext/vue'] = nxJson.generators['@nxext/vue'] || {}; - - const prev = { ...nxJson.generators['@nxext/vue'] }; - - const appDefaults = { - linter: options.linter, - ...prev.application, - }; - const componentDefaults = { - ...prev.component, - }; - const libDefaults = { - linter: options.linter, - ...prev.library, - }; - - nxJson.generators = { - ...nxJson.generators, - '@nxext/vue': { - ...prev, - application: appDefaults, - component: componentDefaults, - library: libDefaults, - }, - }; - - updateNxJson(host, nxJson); -} diff --git a/packages/vue/src/generators/application/lib/update-vite-config.ts b/packages/vue/src/generators/application/lib/update-vite-config.ts deleted file mode 100644 index 2a93e5816..000000000 --- a/packages/vue/src/generators/application/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.appProjectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - vue(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import vue from '@vitejs/plugin-vue'; - ` - ); -} diff --git a/packages/vue/src/generators/application/schema.d.ts b/packages/vue/src/generators/application/schema.d.ts deleted file mode 100644 index 53b6951ee..000000000 --- a/packages/vue/src/generators/application/schema.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface Schema { - name: string; - tags?: string; - directory?: string; - unitTestRunner?: 'vitest' | 'none'; - e2eTestRunner?: 'cypress' | 'playwright' | 'none'; - inSourceTests?: boolean; - routing?: boolean; - linter: Linter; - skipFormat?: boolean; - rootProject?: boolean; - skipNxJson?: boolean; -} -export interface NormalizedSchema extends T { - appProjectRoot: string; - appProjectName: string; - e2eProjectName: string; - e2eProjectRoot: string; - routing: boolean; - projectDirectory: string; - parsedTags: string[]; - unitTestRunner: 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'playwright' | 'none'; - rootProject: boolean; -} diff --git a/packages/vue/src/generators/application/schema.json b/packages/vue/src/generators/application/schema.json deleted file mode 100644 index 8071985b8..000000000 --- a/packages/vue/src/generators/application/schema.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "App", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed" - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "none" - }, - "inSourceTests": { - "type": "boolean", - "default": false, - "description": "When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "playwright", "none"], - "description": "Test runner to use for end to end (E2E) tests.", - "default": "cypress" - }, - "routing": { - "type": "boolean", - "description": "Generate application with routes.", - "x-prompt": "Would you like to add Vue Router to this application?", - "default": false - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "tags": { - "type": "string", - "description": "Add tags to the application (used for linting).", - "alias": "t" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - }, - "rootProject": { - "description": "Create a application at the root of the workspace", - "type": "boolean", - "default": false, - "hidden": true - }, - "skipNxJson": { - "description": "Skip updating `nx.json` with default options based on values provided to this app.", - "type": "boolean", - "default": false, - "x-priority": "internal" - } - }, - "required": ["name"] -} diff --git a/packages/vue/src/generators/component/component.spec.ts b/packages/vue/src/generators/component/component.spec.ts deleted file mode 100644 index 7093a51c1..000000000 --- a/packages/vue/src/generators/component/component.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree } from '@nx/devkit'; -import { Linter } from '@nx/linter'; -import { Schema } from './schema'; -import { applicationGenerator } from '../application/application'; -import { libraryGenerator } from '../library/library'; -import { componentGenerator } from './component'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); - -describe('component generator', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - - let host: Tree; - const libProjectName = 'my-lib'; - - const options: Schema = { - name: 'testcomponent', - project: libProjectName, - export: false, - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - libraryGenerator(host, { - name: libProjectName, - linter: Linter.None, - unitTestRunner: 'none', - skipFormat: true, - }); - - applicationGenerator(host, { - name: 'my-app', - linter: Linter.None, - unitTestRunner: 'none', - skipFormat: true, - }); - }); - - it('should generate files', async () => { - await componentGenerator(host, options); - - host.listChanges().forEach((value) => { - if (value.path.startsWith('lib/my-lib')) { - console.log(value); - } - }); - expect( - host.exists(`libs/my-lib/src/components/Testcomponent.vue`) - ).toBeTruthy(); - }); - - describe('--export', () => { - it('should add to index.ts barrel', async () => { - await componentGenerator(host, { - name: 'hello', - project: libProjectName, - export: true, - }); - - const indexContent = host.read('libs/my-lib/src/index.ts', 'utf-8'); - - expect(indexContent).toContain( - `export { default as Hello } from './components/Hello.vue';` - ); - }); - - it('should not export from an app', async () => { - await componentGenerator(host, { - name: 'hello', - project: 'my-app', - export: true, - }); - - const indexContent = host.read('libs/my-lib/src/index.ts', 'utf-8'); - - expect(indexContent).not.toContain( - `import Hello from './components/Hello.vue';` - ); - }); - }); -}); diff --git a/packages/vue/src/generators/component/component.ts b/packages/vue/src/generators/component/component.ts deleted file mode 100644 index dce8b536f..000000000 --- a/packages/vue/src/generators/component/component.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, -} from '@nx/devkit'; -import { Schema } from './schema'; -import { addExportsToBarrel } from './lib/add-exports-to-barrel'; -import { normalizeOptions } from './lib/normalize-options'; -import { createComponentFiles } from './lib/create-component-files'; - -export async function componentGenerator(tree: Tree, schema: Schema) { - const tasks: GeneratorCallback[] = []; - - const options = normalizeOptions(tree, schema); - createComponentFiles(tree, options); - await formatFiles(tree); - - if (options.export) { - addExportsToBarrel(tree, options); - } - - return runTasksInSerial(...tasks); -} - -export default componentGenerator; diff --git a/packages/vue/src/generators/component/files/src/components/__fileName__.spec.ts__template__ b/packages/vue/src/generators/component/files/src/components/__fileName__.spec.ts__template__ deleted file mode 100644 index c24a4a846..000000000 --- a/packages/vue/src/generators/component/files/src/components/__fileName__.spec.ts__template__ +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import <%= className %> from './<%= className %>.vue' - -describe('<%= className %>', () => { - it('renders properly', () => { - const wrapper = mount(<%= className %>, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/packages/vue/src/generators/component/files/src/components/__fileName__.vue__template__ b/packages/vue/src/generators/component/files/src/components/__fileName__.vue__template__ deleted file mode 100644 index 8901544c3..000000000 --- a/packages/vue/src/generators/component/files/src/components/__fileName__.vue__template__ +++ /dev/null @@ -1,40 +0,0 @@ - - - - - diff --git a/packages/vue/src/generators/component/lib/add-exports-to-barrel.ts b/packages/vue/src/generators/component/lib/add-exports-to-barrel.ts deleted file mode 100644 index 8506fe325..000000000 --- a/packages/vue/src/generators/component/lib/add-exports-to-barrel.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - applyChangesToString, - getProjects, - Tree, - joinPathFragments, -} from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { addImport } from '@nxext/core'; -import * as ts from 'typescript'; - -export function addExportsToBarrel(host: Tree, options: NormalizedSchema) { - const workspace = getProjects(host); - const isApp = workspace.get(options.project).projectType === 'application'; - - if (options.export && !isApp) { - const indexFilePath = joinPathFragments( - options.projectSourceRoot, - 'index.ts' - ); - const indexSource = host.read(indexFilePath, 'utf-8'); - if (indexSource !== null) { - const indexSourceFile = ts.createSourceFile( - indexFilePath, - indexSource, - ts.ScriptTarget.Latest, - true - ); - const changes = applyChangesToString( - indexSource, - addImport( - indexSourceFile, - `export { default as ${options.fileName} } from './${options.directory}/${options.fileName}.vue';` - ) - ); - host.write(indexFilePath, changes); - } - } -} diff --git a/packages/vue/src/generators/component/lib/create-component-files.ts b/packages/vue/src/generators/component/lib/create-component-files.ts deleted file mode 100644 index ba29d58ec..000000000 --- a/packages/vue/src/generators/component/lib/create-component-files.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { generateFiles, names, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { join } from 'path'; - -export function createComponentFiles(tree: Tree, options: NormalizedSchema) { - const templateOptions = { - ...options, - className: names(options.name).className, - template: '', - }; - generateFiles( - tree, - join(__dirname, '../files'), - options.projectRoot, - templateOptions - ); -} diff --git a/packages/vue/src/generators/component/lib/normalize-options.ts b/packages/vue/src/generators/component/lib/normalize-options.ts deleted file mode 100644 index f987373a7..000000000 --- a/packages/vue/src/generators/component/lib/normalize-options.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { names, readProjectConfiguration, Tree } from '@nx/devkit'; -import { NormalizedSchema, Schema } from '../schema'; - -export function normalizeOptions( - tree: Tree, - options: Schema -): NormalizedSchema { - const project = readProjectConfiguration(tree, options.project); - const projectRoot = project.root; - const fileName = names(options.name).className; - const projectSourceRoot = project.sourceRoot; - const directory = options.directory - ? `components/${options.directory}` - : `components`; - - return { - ...options, - projectRoot, - fileName, - directory, - projectSourceRoot, - }; -} diff --git a/packages/vue/src/generators/component/schema.d.ts b/packages/vue/src/generators/component/schema.d.ts deleted file mode 100644 index f121b1462..000000000 --- a/packages/vue/src/generators/component/schema.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -export interface Schema { - name: string; - project: string; - directory?: string; - skipTests?: boolean; - export?: boolean; -} - -interface NormalizedSchema extends Schema { - projectRoot: string; - projectSourceRoot: string; - fileName: string; -} diff --git a/packages/vue/src/generators/component/schema.json b/packages/vue/src/generators/component/schema.json deleted file mode 100644 index ab853d82b..000000000 --- a/packages/vue/src/generators/component/schema.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Component", - "title": "", - "type": "object", - "properties": { - "project": { - "type": "string", - "description": "The name of the project.", - "alias": "p", - "$default": { - "$source": "projectName" - }, - "x-prompt": "What is the name of the project for this component?", - "x-priority": "important" - }, - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed" - }, - "skipTests": { - "type": "boolean", - "description": "When true, does not create `spec.ts` test files for the new component.", - "default": false, - "x-priority": "internal" - }, - "export": { - "type": "boolean", - "description": "When true, the component is exported from the project `index.ts` (if it exists).", - "alias": "e", - "default": true, - "x-prompt": "Should this component be exported in the project?" - } - }, - "required": ["name", "project"] -} diff --git a/packages/vue/src/generators/init/init.spec.ts b/packages/vue/src/generators/init/init.spec.ts deleted file mode 100644 index 4d40ddd83..000000000 --- a/packages/vue/src/generators/init/init.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree } from '@nx/devkit'; - -import initGenerator from './init'; -import { InitSchema } from './schema'; - -describe('init generator', () => { - let host: Tree; - const options: InitSchema = { - unitTestRunner: 'vitest', - e2eTestRunner: 'none', - routing: false, - skipFormat: false, - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should run successfully', async () => { - await initGenerator(host, options); - }); -}); diff --git a/packages/vue/src/generators/init/init.ts b/packages/vue/src/generators/init/init.ts deleted file mode 100644 index 71545f105..000000000 --- a/packages/vue/src/generators/init/init.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { - addDependenciesToPackageJson, - convertNxGenerator, - ensurePackage, - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, - NX_VERSION, -} from '@nx/devkit'; -import { initGenerator as jsInitGenerator } from '@nx/js'; -import { - vitePluginVueVersion, - vueRouterVersion, - vueTestUtilsVersion, - vueTscVersion, - vueVersion, -} from '../utils/versions'; -import { InitSchema } from './schema'; -import { addPluginToNxJson } from '@nxext/core'; - -function updateDependencies(host: Tree, schema: InitSchema) { - let dependencies: Record = { - vue: vueVersion, - 'vue-tsc': vueTscVersion, - }; - if (schema.routing) { - dependencies = { - ...dependencies, - 'vue-router': vueRouterVersion, - }; - } - - const devDependencies = { - '@vitejs/plugin-vue': vitePluginVueVersion, - '@vue/test-utils': vueTestUtilsVersion, - }; - - return addDependenciesToPackageJson(host, dependencies, devDependencies); -} - -export async function initGenerator(host: Tree, schema: InitSchema) { - const tasks: GeneratorCallback[] = []; - - updateDependencies(host, schema); - - if (!schema.e2eTestRunner || schema.e2eTestRunner === 'cypress') { - await ensurePackage('@nx/cypress', NX_VERSION); - const { cypressInitGenerator } = await import('@nx/cypress'); - const cypressTask = await cypressInitGenerator(host, {}); - tasks.push(cypressTask); - } - - await jsInitGenerator(host, { - skipFormat: true, - }); - - addPluginToNxJson('@nxext/vue', host); - - if (!schema.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(...tasks); -} - -export default initGenerator; -export const initSchematic = convertNxGenerator(initGenerator); diff --git a/packages/vue/src/generators/init/schema.d.ts b/packages/vue/src/generators/init/schema.d.ts deleted file mode 100644 index 243577638..000000000 --- a/packages/vue/src/generators/init/schema.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface InitSchema { - unitTestRunner?: 'jest' | 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'playwright' | 'none'; - routing: boolean; - skipFormat: boolean; -} diff --git a/packages/vue/src/generators/init/schema.json b/packages/vue/src/generators/init/schema.json deleted file mode 100644 index fbc480fad..000000000 --- a/packages/vue/src/generators/init/schema.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Init", - "title": "", - "type": "object", - "properties": { - "unitTestRunner": { - "type": "string", - "enum": ["jest", "vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "jest" - }, - "inSourceTests": { - "type": "boolean", - "default": false, - "description": "When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (E2E) tests.", - "default": "cypress" - }, - "tags": { - "type": "string", - "description": "Add tags to the application (used for linting).", - "alias": "t" - }, - "routing": { - "type": "boolean", - "description": "Generate application with routes.", - "x-prompt": "Would you like to add React Router to this application?", - "default": false - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false - } - }, - "required": [] -} diff --git a/packages/vue/src/generators/library/files/README.md b/packages/vue/src/generators/library/files/README.md deleted file mode 100644 index b74453ce2..000000000 --- a/packages/vue/src/generators/library/files/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# <%= name %> - -This library was generated with [Nx](https://nx.dev). - -## Running unit tests - -Run `nx test <%= name %>` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/packages/vue/src/generators/library/files/src/index.ts__template__ b/packages/vue/src/generators/library/files/src/index.ts__template__ deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/vue/src/generators/library/files/src/vue-shims.d.ts__template__ b/packages/vue/src/generators/library/files/src/vue-shims.d.ts__template__ deleted file mode 100644 index 798e8fcfa..000000000 --- a/packages/vue/src/generators/library/files/src/vue-shims.d.ts__template__ +++ /dev/null @@ -1,5 +0,0 @@ -declare module '*.vue' { - import { defineComponent } from 'vue'; - const component: ReturnType; - export default component; -} diff --git a/packages/vue/src/generators/library/files/tsconfig.lib.json__template__ b/packages/vue/src/generators/library/files/tsconfig.lib.json__template__ deleted file mode 100644 index 2ce22badf..000000000 --- a/packages/vue/src/generators/library/files/tsconfig.lib.json__template__ +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "lib": [ - // Should target at least ES2016 in Vue 3 - // Support for newer versions of language built-ins are - // left for the users to include, because that would require: - // - either the project doesn't need to support older versions of browsers; - // - or the project has properly included the necessary polyfills. - "ES2016", - - "DOM", - "DOM.Iterable" - - // No `ScriptHost` because Vue 3 dropped support for IE - ], - "outDir": "<%= offsetFromRoot %>dist/out-tsc" - }, - "files": [], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", "src/**/*.test.tsx", "src/**/*.spec.js", "src/**/*.test.js", "src/**/*.spec.jsx", "src/**/*.test.jsx"], - "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] -} diff --git a/packages/vue/src/generators/library/lib/add-linting.ts b/packages/vue/src/generators/library/lib/add-linting.ts deleted file mode 100644 index 021c2b179..000000000 --- a/packages/vue/src/generators/library/lib/add-linting.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Linter, lintProjectGenerator } from '@nx/linter'; -import { - addDependenciesToPackageJson, - joinPathFragments, - Tree, - runTasksInSerial, - updateJson, -} from '@nx/devkit'; - -import { NormalizedSchema } from '../schema'; -import { extendVueEslintJson, extraEslintDependencies } from '../../utils/lint'; - -export async function addLinting(host: Tree, options: NormalizedSchema) { - if (options.linter === Linter.EsLint) { - const lintTask = await lintProjectGenerator(host, { - linter: options.linter, - project: options.projectName, - tsConfigPaths: [ - joinPathFragments(options.projectRoot, 'tsconfig.lib.json'), - ], - unitTestRunner: options.unitTestRunner, - eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx,js,jsx}`], - skipFormat: true, - }); - - updateJson( - host, - joinPathFragments(options.projectRoot, '.eslintrc.json'), - extendVueEslintJson - ); - - const installTask = await addDependenciesToPackageJson( - host, - extraEslintDependencies.dependencies, - extraEslintDependencies.devDependencies - ); - - return runTasksInSerial(lintTask, installTask); - } else { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return () => {}; - } -} diff --git a/packages/vue/src/generators/library/lib/add-project.ts b/packages/vue/src/generators/library/lib/add-project.ts deleted file mode 100644 index 95b5f0b40..000000000 --- a/packages/vue/src/generators/library/lib/add-project.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { addProjectConfiguration, ProjectConfiguration } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function addProject(host, options: NormalizedSchema) { - const project: ProjectConfiguration = { - root: options.projectRoot, - sourceRoot: `${options.projectRoot}/src`, - projectType: 'library', - targets: {}, - tags: options.parsedTags, - }; - - addProjectConfiguration(host, options.projectName, { - ...project, - }); -} diff --git a/packages/vue/src/generators/library/lib/create-library-files.ts b/packages/vue/src/generators/library/lib/create-library-files.ts deleted file mode 100644 index eec110117..000000000 --- a/packages/vue/src/generators/library/lib/create-library-files.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { generateFiles, names, offsetFromRoot, Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; -import { join } from 'path'; -import { getRelativePathToRootTsConfig } from '@nx/js'; -import { createTsConfig } from '../../utils/create-ts-config'; - -export function createLibraryFiles(host: Tree, options: NormalizedSchema) { - const relativePathToRootTsConfig = getRelativePathToRootTsConfig( - host, - options.projectRoot - ); - const templateOptions = { - ...options, - ...names(options.name), - offsetFromRoot: offsetFromRoot(options.projectRoot), - template: '', - }; - generateFiles( - host, - join(__dirname, '../files'), - options.projectRoot, - templateOptions - ); - - createTsConfig( - host, - options.projectRoot, - 'lib', - options, - relativePathToRootTsConfig - ); -} diff --git a/packages/vue/src/generators/library/lib/get-import-path.ts b/packages/vue/src/generators/library/lib/get-import-path.ts deleted file mode 100644 index 8faf2c293..000000000 --- a/packages/vue/src/generators/library/lib/get-import-path.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { getNpmScope } from '@nx/js/src/utils/package-json/get-npm-scope'; - -/** - * Prefixes project name with npm scope - */ -export function getImportPath(tree: Tree, projectDirectory: string): string { - const npmScope = getNpmScope(tree); - return npmScope - ? `${npmScope === '@' ? '' : '@'}${npmScope}/${projectDirectory}` - : projectDirectory; -} diff --git a/packages/vue/src/generators/library/lib/normalize-options.ts b/packages/vue/src/generators/library/lib/normalize-options.ts deleted file mode 100644 index 67e345c95..000000000 --- a/packages/vue/src/generators/library/lib/normalize-options.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - extractLayoutDirectory, - getWorkspaceLayout, - names, - normalizePath, - Tree, -} from '@nx/devkit'; -import { NormalizedSchema, Schema } from '../schema'; -import { getImportPath } from './get-import-path'; - -export function normalizeOptions( - host: Tree, - options: Schema -): NormalizedSchema { - const name = names(options.name).fileName; - const { libsDir: defaultLibsDir } = getWorkspaceLayout(host); - const { projectDirectory, layoutDirectory } = extractLayoutDirectory( - options.directory - ); - const fullProjectDirectory = projectDirectory - ? `${names(options.directory).fileName}/${name}` - : name; - const e2eProjectName = `${names(options.name).fileName}-e2e`; - const projectName = fullProjectDirectory.replace(new RegExp('/', 'g'), '-'); - const libsDir = layoutDirectory ?? defaultLibsDir; - const projectRoot = normalizePath(`${libsDir}/${fullProjectDirectory}`); - const parsedTags = options.tags - ? options.tags.split(',').map((s) => s.trim()) - : []; - const buildable = options?.buildable || false; - const importPath = - options.importPath || getImportPath(host, fullProjectDirectory); - - return { - ...options, - projectName, - e2eProjectName, - projectRoot, - parsedTags, - buildable, - importPath, - projectDirectory: fullProjectDirectory, - } as NormalizedSchema; -} diff --git a/packages/vue/src/generators/library/lib/update-base-tsconfig.ts b/packages/vue/src/generators/library/lib/update-base-tsconfig.ts deleted file mode 100644 index c42d6d58a..000000000 --- a/packages/vue/src/generators/library/lib/update-base-tsconfig.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { getRootTsConfigPathInTree } from '@nx/workspace/src/utilities/typescript'; -import { - getWorkspaceLayout, - joinPathFragments, - updateJson, - Tree, -} from '@nx/devkit'; - -import { NormalizedSchema } from '../schema'; - -export function updateBaseTsConfig(host: Tree, options: NormalizedSchema) { - updateJson(host, getRootTsConfigPathInTree(host), (json) => { - const c = json.compilerOptions; - c.paths = c.paths || {}; - delete c.paths[options.name]; - - if (c.paths[options.importPath]) { - throw new Error( - `You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.` - ); - } - - const { libsDir: defaultLibsDir } = getWorkspaceLayout(host); - - c.paths[options.importPath] = [ - joinPathFragments( - defaultLibsDir, - `${options.projectDirectory}/src/index.ts` - ), - ]; - - return json; - }); -} diff --git a/packages/vue/src/generators/library/lib/update-vite-config.ts b/packages/vue/src/generators/library/lib/update-vite-config.ts deleted file mode 100644 index 8c0246721..000000000 --- a/packages/vue/src/generators/library/lib/update-vite-config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { NormalizedSchema } from '../schema'; - -export function updateViteConfig(host: Tree, options: NormalizedSchema) { - const configPath = `${options.projectRoot}/vite.config.ts`; - const originalContent = host.read(configPath, 'utf-8'); - const content = updateViteConfigContent(originalContent); - host.write(configPath, content); -} - -function updateViteConfigContent(content: string) { - return content - .replace( - 'plugins: [', - `plugins: [ - vue(),` - ) - .replace( - `import { defineConfig } from 'vite';`, - `import { defineConfig } from 'vite'; - import vue from '@vitejs/plugin-vue'; - ` - ); -} diff --git a/packages/vue/src/generators/library/library.spec.ts b/packages/vue/src/generators/library/library.spec.ts deleted file mode 100644 index 79ab070d1..000000000 --- a/packages/vue/src/generators/library/library.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree, readProjectConfiguration, readJson } from '@nx/devkit'; - -import { libraryGenerator } from './library'; -import { Schema } from './schema'; -import { Linter } from '@nx/linter'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); - -describe('library generator', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - - let host: Tree; - const projectName = 'my-lib'; - const options: Schema = { - name: projectName, - unitTestRunner: 'none', - linter: Linter.EsLint, - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should run successfully', async () => { - await libraryGenerator(host, options); - const config = readProjectConfiguration(host, projectName); - expect(config).toBeDefined(); - }); - - describe('--component', () => { - it('should generate component if true', async () => { - await libraryGenerator(host, { ...options, component: true }); - expect(host.exists(`libs/${projectName}/src/index.ts`)).toBeTruthy(); - expect( - host.exists(`libs/${projectName}/src/components/MyLib.vue`) - ).toBeTruthy(); - }); - - it('should not generate component if false', async () => { - await libraryGenerator(host, { ...options, component: false }); - expect(host.exists(`libs/${projectName}/src/index.ts`)).toBeTruthy(); - expect( - host.exists(`libs/${projectName}/src/components/MyLib.vue`) - ).toBeFalsy(); - }); - }); - - it('should update root tsconfig.base.json', async () => { - await libraryGenerator(host, options); - const tsconfigJson = readJson(host, '/tsconfig.base.json'); - expect(tsconfigJson.compilerOptions.paths['@proj/my-lib']).toEqual([ - 'libs/my-lib/src/index.ts', - ]); - }); - - it('should add vue dependencies packages to package.json if not already present', async () => { - await libraryGenerator(host, options); - - const packageJson = readJson(host, '/package.json'); - - expect(packageJson).toMatchObject({ - dependencies: { - vue: expect.anything(), - 'vue-tsc': expect.anything(), - }, - devDependencies: { - '@vitejs/plugin-vue': expect.anything(), - }, - }); - }); - - it('should update tags', async () => { - await libraryGenerator(host, { ...options, tags: 'foo,bar' }); - const project = readProjectConfiguration(host, 'my-lib'); - expect(project).toEqual( - expect.objectContaining({ - tags: ['foo', 'bar'], - }) - ); - }); -}); diff --git a/packages/vue/src/generators/library/library.ts b/packages/vue/src/generators/library/library.ts deleted file mode 100644 index 91bcf9cf2..000000000 --- a/packages/vue/src/generators/library/library.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { - ensurePackage, - formatFiles, - GeneratorCallback, - Tree, - runTasksInSerial, - NX_VERSION, -} from '@nx/devkit'; -import { Schema } from './schema'; -import initGenerator from '../init/init'; -import { normalizeOptions } from './lib/normalize-options'; -import { updateViteConfig } from './lib/update-vite-config'; -import { addProject } from './lib/add-project'; -import { createLibraryFiles } from './lib/create-library-files'; -import componentGenerator from '../component/component'; -import { updateBaseTsConfig } from './lib/update-base-tsconfig'; -import { addLinting } from './lib/add-linting'; - -export async function libraryGenerator(host: Tree, schema: Schema) { - const tasks: GeneratorCallback[] = []; - const options = normalizeOptions(host, schema); - - if (options.publishable === true && !schema.importPath) { - throw new Error( - `For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)` - ); - } - - addProject(host, options); - createLibraryFiles(host, options); - - const initTask = await initGenerator(host, { - ...options, - routing: false, - skipFormat: true, - }); - tasks.push(initTask); - - updateBaseTsConfig(host, options); - if (options.buildable) { - await ensurePackage('@nx/vite', NX_VERSION); - const { viteConfigurationGenerator } = await import('@nx/vite'); - const viteTask = await viteConfigurationGenerator(host, { - uiFramework: 'none', - project: options.projectName, - newProject: true, - includeLib: true, - includeVitest: options.unitTestRunner === 'vitest', - inSourceTests: options.inSourceTests, - }); - tasks.push(viteTask); - - updateViteConfig(host, options); - } - - if (!options.buildable && options.unitTestRunner === 'vitest') { - await ensurePackage('@nx/vite', NX_VERSION); - const { vitestGenerator } = await import('@nx/vite'); - - const vitestTask = await vitestGenerator(host, { - uiFramework: 'none', - project: options.projectName, - coverageProvider: 'c8', - inSourceTests: options.inSourceTests, - }); - tasks.push(vitestTask); - updateViteConfig(host, options); - } - - const lintTask = await addLinting(host, options); - tasks.push(lintTask); - - if (options.component) { - const componentTask = await componentGenerator(host, { - name: options.name, - project: options.projectName, - skipTests: - options.unitTestRunner === 'none' || - (options.unitTestRunner === 'vitest' && options.inSourceTests == true), - export: true, - }); - tasks.push(componentTask); - } - - if (!options.skipFormat) { - await formatFiles(host); - } - - return runTasksInSerial(...tasks); -} - -export default libraryGenerator; diff --git a/packages/vue/src/generators/library/schema.d.ts b/packages/vue/src/generators/library/schema.d.ts deleted file mode 100644 index bdce6e4e1..000000000 --- a/packages/vue/src/generators/library/schema.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -export interface Schema { - name: string; - tags?: string; - directory?: string; - unitTestRunner?: 'vitest' | 'none'; - e2eTestRunner?: 'cypress' | 'none'; - linter: Linter; - inSourceTests?: boolean; - publishable?: boolean; - buildable?: boolean; - importPath?: string; - component?: boolean; - skipFormat?: boolean; -} - -export interface NormalizedSchema extends T { - projectName: string; - projectRoot: string; - e2eProjectName: string; - projectDirectory: string; - parsedTags: string[]; - fileName: string; - unitTestRunner: 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; -} diff --git a/packages/vue/src/generators/library/schema.json b/packages/vue/src/generators/library/schema.json deleted file mode 100644 index 6f3dc9a65..000000000 --- a/packages/vue/src/generators/library/schema.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "Library", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What name would you like to use?" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "directory": { - "type": "string", - "description": "A directory where the project is placed" - }, - "skipFormat": { - "description": "Skip formatting files.", - "type": "boolean", - "default": false, - "x-priority": "internal" - }, - "publishable": { - "type": "boolean", - "description": "Create a publishable library." - }, - "buildable": { - "type": "boolean", - "default": false, - "description": "Generate a buildable library that uses vite to bundle." - }, - "importPath": { - "type": "string", - "description": "The library name used to import it, like `@myorg/my-awesome-lib`." - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "none" - }, - "inSourceTests": { - "type": "boolean", - "default": false, - "description": "When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html" - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (E2E) tests.", - "default": "cypress" - }, - "component": { - "type": "boolean", - "description": "Generate a default component.", - "default": true - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - } - }, - "required": ["name"] -} diff --git a/packages/vue/src/generators/preset/preset.spec.ts b/packages/vue/src/generators/preset/preset.spec.ts deleted file mode 100644 index 1210a3c7c..000000000 --- a/packages/vue/src/generators/preset/preset.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree, readProjectConfiguration } from '@nx/devkit'; - -import generator from './preset'; -import { PresetSchema } from './schema'; -import { Linter } from '@nx/linter'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const devkit = require('@nx/devkit'); - -describe('preset generator', () => { - jest.spyOn(devkit, 'ensurePackage').mockReturnValue(Promise.resolve()); - - let host: Tree; - const options: PresetSchema = { - vueAppName: 'test', - name: 'test', - linter: Linter.None, - skipFormat: false, - e2eTestRunner: 'cypress', - unitTestRunner: 'none', - }; - - beforeEach(() => { - host = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - }); - - it('should run successfully', async () => { - await generator(host, options); - const config = readProjectConfiguration(host, 'test'); - expect(config).toBeDefined(); - }); -}); diff --git a/packages/vue/src/generators/preset/preset.ts b/packages/vue/src/generators/preset/preset.ts deleted file mode 100644 index 05bd6b871..000000000 --- a/packages/vue/src/generators/preset/preset.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Tree } from '@nx/devkit'; -import { PresetSchema } from './schema'; -import { applicationGenerator } from '../application/application'; - -export default async function (host: Tree, options: PresetSchema) { - return await applicationGenerator(host, { - name: options.vueAppName, - tags: options.tags, - directory: options.directory, - linter: options.linter, - skipFormat: options.skipFormat, - unitTestRunner: options.unitTestRunner, - e2eTestRunner: options.e2eTestRunner, - rootProject: options.standalone, - }); -} diff --git a/packages/vue/src/generators/preset/schema.d.ts b/packages/vue/src/generators/preset/schema.d.ts deleted file mode 100644 index 0b96fd074..000000000 --- a/packages/vue/src/generators/preset/schema.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Linter } from '@nx/linter'; -import { Schema } from '../application/schema'; - -export interface PresetSchema extends Schema { - name: string; - vueAppName: string; - tags?: string; - directory?: string; - linter: Linter; - skipFormat: boolean; - tailwind?: boolean; - unitTestRunner: 'vitest' | 'none'; - e2eTestRunner: 'cypress' | 'none'; - standalone?: boolean; -} diff --git a/packages/vue/src/generators/preset/schema.json b/packages/vue/src/generators/preset/schema.json deleted file mode 100644 index 6482c77bc..000000000 --- a/packages/vue/src/generators/preset/schema.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "VueNxPreset", - "title": "", - "type": "object", - "properties": { - "vueAppName": { - "type": "string", - "description": "", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "App Name" - }, - "tags": { - "type": "string", - "description": "Add tags to the project (used for linting)", - "alias": "t" - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint", "none"], - "default": "eslint" - }, - "unitTestRunner": { - "type": "string", - "enum": ["vitest", "none"], - "description": "Test runner to use for unit tests.", - "default": "vitest" - }, - "tailwind": { - "description": "Setup Tailwind", - "type": "boolean", - "default": false - }, - "e2eTestRunner": { - "type": "string", - "enum": ["cypress", "none"], - "description": "Test runner to use for end to end (E2E) tests.", - "default": "none" - }, - "standalone": { - "type": "boolean", - "description": "Generate a standalone project", - "default": false - } - }, - "required": ["vueAppName"] -} diff --git a/packages/vue/src/generators/setup-tailwind/files/postcss.config.js__tmpl__ b/packages/vue/src/generators/setup-tailwind/files/postcss.config.js__tmpl__ deleted file mode 100644 index 5a8ffc489..000000000 --- a/packages/vue/src/generators/setup-tailwind/files/postcss.config.js__tmpl__ +++ /dev/null @@ -1,15 +0,0 @@ -const { join } = require('path'); - -// Note: If you use library-specific PostCSS/Tailwind configuration then you should remove the `postcssConfig` build -// option from your application's configuration (i.e. project.json). -// -// See: https://nx.dev/guides/using-tailwind-css-in-react#step-4:-applying-configuration-to-libraries - -module.exports = { - plugins: { - tailwindcss: { - config: join(__dirname, 'tailwind.config.js'), - }, - autoprefixer: {}, - }, -} diff --git a/packages/vue/src/generators/setup-tailwind/files/tailwind.config.js__tmpl__ b/packages/vue/src/generators/setup-tailwind/files/tailwind.config.js__tmpl__ deleted file mode 100644 index d5db446ef..000000000 --- a/packages/vue/src/generators/setup-tailwind/files/tailwind.config.js__tmpl__ +++ /dev/null @@ -1,17 +0,0 @@ -const { createGlobPatternsForDependencies } = require('@nxext/vue/tailwind'); -const { join } = require('path'); - -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: [ - join( - __dirname, - '{src,pages,components,app}/**/*!(*.stories|*.spec).{ts,tsx,html}' - ), - ...createGlobPatternsForDependencies(__dirname), - ], - theme: { - extend: {}, - }, - plugins: [], -}; diff --git a/packages/vue/src/generators/setup-tailwind/lib/add-tailwind-style-imports.ts b/packages/vue/src/generators/setup-tailwind/lib/add-tailwind-style-imports.ts deleted file mode 100644 index 657f8e064..000000000 --- a/packages/vue/src/generators/setup-tailwind/lib/add-tailwind-style-imports.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - joinPathFragments, - logger, - ProjectConfiguration, - stripIndents, - Tree, -} from '@nx/devkit'; - -import { SetupTailwindOptions } from '../schema'; - -const knownLocations = ['src/assets/main.css']; - -export function addTailwindStyleImports( - tree: Tree, - project: ProjectConfiguration, - _options: SetupTailwindOptions -) { - const candidates = knownLocations.map((x) => - joinPathFragments(project.root, x) - ); - const stylesPath = candidates.find((x) => tree.exists(x)); - - if (stylesPath) { - const content = tree.read(stylesPath).toString(); - tree.write( - stylesPath, - `@tailwind base;\n@tailwind components;\n@tailwind utilities;\n${content}` - ); - } else { - logger.warn( - stripIndents` - Could not find stylesheet to update. Add the following imports to your stylesheet (e.g. styles.css): - - @tailwind base; - @tailwind components; - @tailwind utilities; - - See our guide for more details: https://nx.dev/guides/using-tailwind-css-in-react` - ); - } -} diff --git a/packages/vue/src/generators/setup-tailwind/schema.d.ts b/packages/vue/src/generators/setup-tailwind/schema.d.ts deleted file mode 100644 index 58452c963..000000000 --- a/packages/vue/src/generators/setup-tailwind/schema.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface SetupTailwindOptions { - project: string; - buildTarget?: string; - skipFormat?: boolean; - skipPackageJson?: boolean; -} diff --git a/packages/vue/src/generators/setup-tailwind/schema.json b/packages/vue/src/generators/setup-tailwind/schema.json deleted file mode 100644 index 0d201da33..000000000 --- a/packages/vue/src/generators/setup-tailwind/schema.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "cli": "nx", - "$id": "VueTailwindSetupGenerator", - "title": "Configures Tailwind CSS for an application or a buildable/publishable library.", - "description": "Adds the Tailwind CSS configuration files for a given React project and installs, if needed, the packages required for Tailwind CSS to work.", - "type": "object", - "examples": [ - { - "command": "nx g setup-tailwind --project=my-app", - "description": "Initialize Tailwind configuration for the `my-app` project." - } - ], - "properties": { - "project": { - "type": "string", - "description": "The name of the project to add the Tailwind CSS setup for.", - "alias": "p", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-dropdown": "projects", - "x-prompt": "What project would you like to add the Tailwind CSS setup?", - "x-priority": "important" - }, - "buildTarget": { - "type": "string", - "description": "The name of the target used to build the project. This option is not needed in most cases.", - "default": "build", - "x-priority": "important" - }, - "skipFormat": { - "type": "boolean", - "description": "Skips formatting the workspace after the generator completes.", - "x-priority": "internal" - }, - "skipPackageJson": { - "type": "boolean", - "default": false, - "description": "Do not add dependencies to `package.json`.", - "x-priority": "internal" - } - }, - "additionalProperties": false, - "required": ["project"] -} diff --git a/packages/vue/src/generators/setup-tailwind/setup-tailwind.spec.ts b/packages/vue/src/generators/setup-tailwind/setup-tailwind.spec.ts deleted file mode 100644 index bfe2267f8..000000000 --- a/packages/vue/src/generators/setup-tailwind/setup-tailwind.spec.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { - addProjectConfiguration, - readJson, - stripIndents, - writeJson, -} from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import update from './setup-tailwind'; - -describe('setup-tailwind', () => { - it.each` - stylesPath - ${`src/assets/main.css`} - `('should update stylesheet', async ({ stylesPath }) => { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'example', { - root: 'apps/example', - sourceRoot: 'apps/example/src', - targets: {}, - }); - tree.write(`apps/example/${stylesPath}`, `/* existing content */`); - - await update(tree, { - project: 'example', - }); - - expect(tree.read(`apps/example/${stylesPath}`).toString()).toContain( - stripIndents` - @tailwind base; - @tailwind components; - @tailwind utilities; - /* existing content */ - ` - ); - }); - - it('should skip update if postcss configuration already exists', async () => { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'example', { - root: 'apps/example', - sourceRoot: 'apps/example/src', - targets: {}, - }); - tree.write(`apps/example/src/styles.css`, ``); - tree.write('apps/example/postcss.config.js', '// existing'); - - await update(tree, { project: 'example' }); - - expect(tree.read('apps/example/postcss.config.js').toString()).toEqual( - '// existing' - ); - }); - - it('should skip update if tailwind configuration already exists', async () => { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'example', { - root: 'apps/example', - sourceRoot: 'apps/example/src', - targets: {}, - }); - tree.write(`apps/example/src/styles.css`, ``); - tree.write('apps/example/tailwind.config.js', '// existing'); - - await update(tree, { project: 'example' }); - - expect(tree.read('apps/example/tailwind.config.js').toString()).toEqual( - '// existing' - ); - }); - - it('should install packages', async () => { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'example', { - root: 'apps/example', - sourceRoot: 'apps/example/src', - targets: {}, - }); - tree.write(`apps/example/src/styles.css`, ``); - writeJson(tree, 'package.json', { - dependencies: { - react: '999.9.9', - }, - devDependencies: { - '@types/react': '999.9.9', - }, - }); - - await update(tree, { - project: 'example', - }); - - expect(readJson(tree, 'package.json')).toEqual({ - dependencies: { - react: '999.9.9', - }, - devDependencies: { - '@types/react': '999.9.9', - autoprefixer: expect.any(String), - postcss: expect.any(String), - tailwindcss: expect.any(String), - }, - }); - }); - - it('should support skipping package install', async () => { - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'example', { - root: 'apps/example', - sourceRoot: 'apps/example/src', - targets: {}, - }); - tree.write(`apps/example/src/styles.css`, ``); - writeJson(tree, 'package.json', { - dependencies: { - vue: '999.9.9', - }, - devDependencies: {}, - }); - - await update(tree, { - project: 'example', - skipPackageJson: true, - }); - - expect(readJson(tree, 'package.json')).toEqual({ - dependencies: { - vue: '999.9.9', - }, - devDependencies: {}, - }); - }); -}); diff --git a/packages/vue/src/generators/setup-tailwind/setup-tailwind.ts b/packages/vue/src/generators/setup-tailwind/setup-tailwind.ts deleted file mode 100644 index a696775fb..000000000 --- a/packages/vue/src/generators/setup-tailwind/setup-tailwind.ts +++ /dev/null @@ -1,64 +0,0 @@ -import type { GeneratorCallback, Tree } from '@nx/devkit'; -import { - addDependenciesToPackageJson, - formatFiles, - generateFiles, - joinPathFragments, - logger, - readProjectConfiguration, - runTasksInSerial, -} from '@nx/devkit'; - -import { - autoprefixerVersion, - postcssVersion, - tailwindcssVersion, -} from '../utils/versions'; -import type { SetupTailwindOptions } from './schema'; -import { addTailwindStyleImports } from './lib/add-tailwind-style-imports'; - -export async function setupTailwindGenerator( - tree: Tree, - options: SetupTailwindOptions -) { - const tasks: GeneratorCallback[] = []; - const project = readProjectConfiguration(tree, options.project); - - if ( - tree.exists(joinPathFragments(project.root, 'postcss.config.js')) || - tree.exists(joinPathFragments(project.root, 'tailwind.config.js')) - ) { - logger.info( - `Skipping setup since there are existing PostCSS or Tailwind configuration files. For manual setup instructions, see https://nx.dev/guides/using-tailwind-css-in-react.` - ); - return; - } - - generateFiles(tree, joinPathFragments(__dirname, './files'), project.root, { - tmpl: '', - }); - - addTailwindStyleImports(tree, project, options); - - if (!options.skipPackageJson) { - tasks.push( - addDependenciesToPackageJson( - tree, - {}, - { - autoprefixer: autoprefixerVersion, - postcss: postcssVersion, - tailwindcss: tailwindcssVersion, - } - ) - ); - } - - if (!options.skipFormat) { - await formatFiles(tree); - } - - return runTasksInSerial(...tasks); -} - -export default setupTailwindGenerator; diff --git a/packages/vue/src/generators/storybook-configuration/configuration.spec.ts b/packages/vue/src/generators/storybook-configuration/configuration.spec.ts deleted file mode 100644 index 876fb873f..000000000 --- a/packages/vue/src/generators/storybook-configuration/configuration.spec.ts +++ /dev/null @@ -1,166 +0,0 @@ -import { installedCypressVersion } from '@nx/cypress/src/utils/cypress-version'; -import { logger, Tree } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Linter } from '@nx/linter'; -import applicationGenerator from '../application/application'; -import componentGenerator from '../component/component'; -import libraryGenerator from '../library/library'; -import storybookConfigurationGenerator from './configuration'; -// need to mock cypress otherwise it'll use the nx installed version from package.json -// which is v9 while we are testing for the new v10 version -jest.mock('@nx/cypress/src/utils/cypress-version'); -// nested code imports graph from the repo, which might have innacurate graph version -jest.mock('nx/src/project-graph/project-graph', () => ({ - ...jest.requireActual('nx/src/project-graph/project-graph'), - createProjectGraphAsync: jest - .fn() - .mockImplementation(async () => ({ nodes: {}, dependencies: {} })), -})); - -xdescribe('vue:storybook-configuration', () => { - let appTree; - const mockedInstalledCypressVersion: jest.Mock< - ReturnType - > = installedCypressVersion as never; - beforeEach(async () => { - mockedInstalledCypressVersion.mockReturnValue(10); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(logger, 'warn').mockImplementation(() => {}); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(logger, 'debug').mockImplementation(() => {}); - jest.resetModules(); - }); - - afterEach(() => { - jest.restoreAllMocks(); - }); - - it('should configure everything at once', async () => { - appTree = await createTestUILib('test-ui-lib'); - await storybookConfigurationGenerator(appTree, { - name: 'test-ui-lib', - configureCypress: true, - }); - - expect(appTree.exists('libs/test-ui-lib/.storybook/main.js')).toBeTruthy(); - expect( - appTree.exists('libs/test-ui-lib/.storybook/tsconfig.json') - ).toBeTruthy(); - expect( - appTree.exists('apps/test-ui-lib-e2e/cypress.config.ts') - ).toBeTruthy(); - }); - - it('should generate stories for components', async () => { - appTree = await createTestUILib('test-ui-lib'); - await storybookConfigurationGenerator(appTree, { - name: 'test-ui-lib', - generateStories: true, - configureCypress: false, - }); - - expect( - appTree.exists('libs/test-ui-lib/src/lib/test-ui-lib.stories.tsx') - ).toBeTruthy(); - }); - - it('should configure everything at once', async () => { - appTree = await createTestAppLib('test-ui-app'); - await storybookConfigurationGenerator(appTree, { - name: 'test-ui-app', - configureCypress: true, - }); - - expect(appTree.exists('apps/test-ui-app/.storybook/main.js')).toBeTruthy(); - expect( - appTree.exists('apps/test-ui-app/.storybook/tsconfig.json') - ).toBeTruthy(); - - /** - * Note on the removal of - * expect(tree.exists('apps/test-ui-app-e2e/cypress.json')).toBeTruthy(); - * - * When calling createTestAppLib() we do not generate an e2e suite. - * The storybook schematic for apps does not generate e2e test. - * So, there exists no test-ui-app-e2e! - */ - }); - - it('should generate stories for components', async () => { - appTree = await createTestAppLib('test-ui-app'); - await storybookConfigurationGenerator(appTree, { - name: 'test-ui-app', - generateStories: true, - configureCypress: false, - }); - - // Currently the auto-generate stories feature only picks up components under the 'lib' directory. - // In our 'createTestAppLib' function, we call @nx/react:component to generate a component - // under the specified 'lib' directory - expect( - appTree.exists( - 'apps/test-ui-app/src/app/my-component/my-component.stories.tsx' - ) - ).toBeTruthy(); - }); - - it('should generate cypress tests in the correct folder', async () => { - appTree = await createTestUILib('test-ui-lib'); - await componentGenerator(appTree, { - name: 'my-component', - project: 'test-ui-lib', - }); - await storybookConfigurationGenerator(appTree, { - name: 'test-ui-lib', - generateStories: true, - configureCypress: true, - generateCypressSpecs: true, - cypressDirectory: 'one/two', - }); - [ - 'apps/one/two/test-ui-lib-e2e/cypress.config.ts', - 'apps/one/two/test-ui-lib-e2e/src/fixtures/example.json', - 'apps/one/two/test-ui-lib-e2e/src/support/commands.ts', - 'apps/one/two/test-ui-lib-e2e/src/support/e2e.ts', - 'apps/one/two/test-ui-lib-e2e/tsconfig.json', - 'apps/one/two/test-ui-lib-e2e/.eslintrc.json', - 'apps/one/two/test-ui-lib-e2e/src/e2e/test-ui-lib/test-ui-lib.cy.ts', - 'apps/one/two/test-ui-lib-e2e/src/e2e/my-component/my-component.cy.ts', - ].forEach((file) => { - expect(appTree.exists(file)).toBeTruthy(); - }); - }); -}); - -export async function createTestUILib(libName: string): Promise { - const appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - - await libraryGenerator(appTree, { - linter: Linter.EsLint, - component: true, - skipFormat: true, - unitTestRunner: 'none', - name: libName, - }); - return appTree; -} - -export async function createTestAppLib(libName: string): Promise { - const appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - - await applicationGenerator(appTree, { - e2eTestRunner: 'none', - linter: Linter.EsLint, - skipFormat: false, - unitTestRunner: 'none', - name: libName, - }); - - await componentGenerator(appTree, { - name: 'my-component', - project: libName, - directory: 'app', - }); - - return appTree; -} diff --git a/packages/vue/src/generators/storybook-configuration/configuration.ts b/packages/vue/src/generators/storybook-configuration/configuration.ts deleted file mode 100644 index f7add6d0e..000000000 --- a/packages/vue/src/generators/storybook-configuration/configuration.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { ensurePackage, formatFiles, NX_VERSION, Tree } from '@nx/devkit'; -import { StorybookConfigurationGeneratorSchema } from './schema'; - -/* -async function generateStories(host: Tree, schema: StorybookConfigurationGeneratorSchema) { - ensurePackage('@nx/cypress', NX_VERSION); - const { getE2eProjectName } = await import( - '@nx/cypress/src/utils/project-name' - ); - const projectConfig = readProjectConfiguration(host, schema.name); - const cypressProject = getE2eProjectName( - schema.name, - projectConfig.root, - schema.cypressDirectory - ); - await storiesGenerator(host, { - project: schema.name, - generateCypressSpecs: - schema.configureCypress && schema.generateCypressSpecs, - js: schema.js, - cypressProject, - ignorePaths: schema.ignorePaths, - skipFormat: true, - }); -} - */ - -export async function storybookConfigurationGenerator( - host: Tree, - schema: StorybookConfigurationGeneratorSchema -) { - const { configurationGenerator } = ensurePackage< - typeof import('@nx/storybook') - >('@nx/storybook', NX_VERSION); - - const installTask = await configurationGenerator(host, { - name: schema.name, - configureCypress: schema.configureCypress, - js: schema.js, - linter: schema.linter, - cypressDirectory: schema.cypressDirectory, - tsConfiguration: schema.tsConfiguration, - interactionTests: schema.interactionTests, - configureStaticServe: schema.configureStaticServe, - uiFramework: '@storybook/vue3-vite', - skipFormat: true, - }); - - /* - if (schema.generateStories) { - await generateStories(host, schema); - }*/ - - await formatFiles(host); - - return installTask; -} - -export default storybookConfigurationGenerator; diff --git a/packages/vue/src/generators/storybook-configuration/schema.d.ts b/packages/vue/src/generators/storybook-configuration/schema.d.ts deleted file mode 100644 index 69c9dae06..000000000 --- a/packages/vue/src/generators/storybook-configuration/schema.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Linter } from '@nx/linter'; - -export interface StorybookConfigurationGeneratorSchema { - name: string; - configureCypress: boolean; - generateStories?: boolean; - generateCypressSpecs?: boolean; - js?: boolean; - tsConfiguration?: boolean; - linter?: Linter; - cypressDirectory?: string; - ignorePaths?: string[]; - interactionTests?: boolean; - configureStaticServe?: boolean; -} diff --git a/packages/vue/src/generators/storybook-configuration/schema.json b/packages/vue/src/generators/storybook-configuration/schema.json deleted file mode 100644 index 9ca060375..000000000 --- a/packages/vue/src/generators/storybook-configuration/schema.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "StorybookConfiguration", - "title": "", - "type": "object", - "properties": { - "name": { - "type": "string", - "aliases": ["project", "projectName"], - "description": "Project for which to generate Storybook configuration.", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "For which project do you want to generate Storybook configuration?", - "x-dropdown": "projects", - "x-priority": "important" - }, - "configureCypress": { - "type": "boolean", - "description": "Run the cypress-configure generator.", - "x-prompt": "Configure a cypress e2e app to run against the storybook instance?", - "default": true, - "x-priority": "important" - }, - "generateStories": { - "type": "boolean", - "description": "Automatically generate `*.stories.ts` files for components declared in this project?", - "x-prompt": "Automatically generate *.stories.ts files for components declared in this project?", - "default": true, - "x-priority": "important" - }, - "generateCypressSpecs": { - "type": "boolean", - "description": "Automatically generate test files in the Cypress E2E app generated by the `cypress-configure` generator.", - "x-prompt": "Automatically generate test files in the Cypress E2E app generated by the cypress-configure generator?", - "default": true, - "x-priority": "important" - }, - "configureStaticServe": { - "type": "boolean", - "description": "Specifies whether to configure a static file server target for serving storybook. Helpful for speeding up CI build/test times.", - "x-prompt": "Configure a static file server for the storybook instance?", - "default": true, - "x-priority": "important" - }, - "cypressDirectory": { - "type": "string", - "description": "A directory where the Cypress project will be placed. Placed at the root by default." - }, - "js": { - "type": "boolean", - "description": "Generate JavaScript story files rather than TypeScript story files.", - "default": false - }, - "tsConfiguration": { - "type": "boolean", - "description": "Configure your project with TypeScript. Generate main.ts and preview.ts files, instead of main.js and preview.js.", - "default": false - }, - "linter": { - "description": "The tool to use for running lint checks.", - "type": "string", - "enum": ["eslint"], - "default": "eslint" - }, - "ignorePaths": { - "type": "array", - "description": "Paths to ignore when looking for components.", - "items": { - "type": "string", - "description": "Path to ignore." - } - }, - "interactionTests": { - "type": "boolean", - "description": "Add a Storybook Test-Runner target." - } - }, - "required": ["name"] -} diff --git a/packages/vue/src/generators/utils/create-ts-config.ts b/packages/vue/src/generators/utils/create-ts-config.ts deleted file mode 100644 index 5334049f3..000000000 --- a/packages/vue/src/generators/utils/create-ts-config.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Tree, writeJson } from '@nx/devkit'; - -export function createTsConfig( - host: Tree, - projectRoot: string, - type: 'app' | 'lib', - options: { - strict?: boolean; - bundler?: string; - rootProject?: boolean; - unitTestRunner?: string; - }, - relativePathToRootTsConfig: string -) { - const json = { - compilerOptions: { - allowJs: true, - esModuleInterop: false, - allowSyntheticDefaultImports: true, - strict: options.strict, - }, - files: [], - include: [], - references: [ - { - path: type === 'app' ? './tsconfig.app.json' : './tsconfig.lib.json', - }, - ], - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any; - - json.compilerOptions.types = - options.unitTestRunner === 'vitest' - ? ['vite/client', 'vitest'] - : ['vite/client']; - json.extends = relativePathToRootTsConfig; - - writeJson(host, `${projectRoot}/tsconfig.json`, json); -} diff --git a/packages/vue/src/generators/utils/get-in-source-vitest-tests-template.ts b/packages/vue/src/generators/utils/get-in-source-vitest-tests-template.ts deleted file mode 100644 index 50167332e..000000000 --- a/packages/vue/src/generators/utils/get-in-source-vitest-tests-template.ts +++ /dev/null @@ -1,17 +0,0 @@ -export function getInSourceVitestTestsTemplate(testContent: string) { - return ` -if (import.meta.vitest) { - // add tests related to your file here - // For more information please visit the Vitest docs site here: https://vitest.dev/guide/in-source.html - - const { it, expect, beforeEach } = import.meta.vitest; - let render: any; - - beforeEach(async () => { - render = (await import('@testing-library/vue')).render; - }); - - ${testContent} -} -`; -} diff --git a/packages/vue/src/generators/utils/lint.ts b/packages/vue/src/generators/utils/lint.ts deleted file mode 100644 index f6e48c49d..000000000 --- a/packages/vue/src/generators/utils/lint.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { - eslintPluginPrettierVueVersion, - eslintPluginTypescriptVueVersion, - eslintPluginVueVersion, -} from './versions'; - -export const extraEslintDependencies = { - dependencies: {}, - devDependencies: { - 'eslint-plugin-vue': eslintPluginVueVersion, - '@vue/eslint-config-prettier': eslintPluginPrettierVueVersion, - '@vue/eslint-config-typescript': eslintPluginTypescriptVueVersion, - }, -}; - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const extendVueEslintJson = (json: any) => { - const { extends: pluginExtends, ...config } = json; - - return { - extends: [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting', - ...(pluginExtends || []), - ], - ...config, - }; -}; diff --git a/packages/vue/src/generators/utils/versions.ts b/packages/vue/src/generators/utils/versions.ts deleted file mode 100644 index 596ebd7bc..000000000 --- a/packages/vue/src/generators/utils/versions.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const vueVersion = '^3.3.4'; -export const vueTscVersion = '^1.8.8'; -export const vueRouterVersion = '^4.2.4'; -export const vitePluginVueVersion = '^4.3.1'; -export const vueTestUtilsVersion = '^2.4.1'; -export const eslintPluginVueVersion = '^9.14.1'; -export const eslintPluginPrettierVueVersion = '^7.1.0'; -export const eslintPluginTypescriptVueVersion = '^11.0.3'; -export const postcssVersion = '8.4.21'; -export const tailwindcssVersion = '3.2.7'; -export const autoprefixerVersion = '10.4.13'; diff --git a/packages/vue/src/graph/TypeScriptVueImportLocator.ts b/packages/vue/src/graph/TypeScriptVueImportLocator.ts deleted file mode 100644 index 66c9d43c0..000000000 --- a/packages/vue/src/graph/TypeScriptVueImportLocator.ts +++ /dev/null @@ -1,162 +0,0 @@ -import * as path from 'path'; -import type * as ts from 'typescript'; -import { DependencyType, workspaceRoot } from '@nx/devkit'; -import { Scanner } from 'typescript'; -import { stripSourceCode } from 'nx/src/plugins/js/project-graph/build-dependencies/strip-source-code'; -import { readFileSync } from 'fs'; -import { join } from 'path'; - -let tsModule: typeof import('typescript'); - -/** - * This class is originally from TypeScriptImportLocator in nx: - * https://github.com/nrwl/nx/blob/05a9544806e8573bac5eef542a8e8c1b6115dc18/packages/nx/src/project-graph/build-dependencies/typescript-import-locator.ts - */ -export class TypeScriptVueImportLocator { - private readonly scanner: Scanner; - - constructor() { - tsModule = require('typescript'); - this.scanner = tsModule.createScanner(tsModule.ScriptTarget.Latest, false); - } - - fromFile( - filePath: string, - visitor: ( - importExpr: string, - filePath: string, - type: DependencyType - ) => void - ): void { - const extension = path.extname(filePath); - if (extension !== '.vue') { - return; - } - const content = readFileSync(join(workspaceRoot, filePath), 'utf-8'); - const strippedContent = stripSourceCode(this.scanner, content); - if (strippedContent !== '') { - const tsFile = tsModule.createSourceFile( - filePath, - strippedContent, - tsModule.ScriptTarget.Latest, - true - ); - this.fromNode(filePath, tsFile, visitor); - } - } - - fromNode( - filePath: string, - node: ts.Node, - visitor: ( - importExpr: string, - filePath: string, - type: DependencyType - ) => void - ): void { - if ( - tsModule.isImportDeclaration(node) || - (tsModule.isExportDeclaration(node) && node.moduleSpecifier) - ) { - if (!this.ignoreStatement(node)) { - const imp = this.getStringLiteralValue(node.moduleSpecifier); - visitor(imp, filePath, DependencyType.static); - } - return; // stop traversing downwards - } - - if ( - tsModule.isCallExpression(node) && - node.expression.kind === tsModule.SyntaxKind.ImportKeyword && - node.arguments.length === 1 && - tsModule.isStringLiteral(node.arguments[0]) - ) { - if (!this.ignoreStatement(node)) { - const imp = this.getStringLiteralValue(node.arguments[0]); - visitor(imp, filePath, DependencyType.dynamic); - } - return; - } - - if ( - tsModule.isCallExpression(node) && - node.expression.getText() === 'require' && - node.arguments.length === 1 && - tsModule.isStringLiteral(node.arguments[0]) - ) { - if (!this.ignoreStatement(node)) { - const imp = this.getStringLiteralValue(node.arguments[0]); - visitor(imp, filePath, DependencyType.static); - } - return; - } - - if (node.kind === tsModule.SyntaxKind.PropertyAssignment) { - const name = this.getPropertyAssignmentName( - (node as ts.PropertyAssignment).name - ); - if (name === 'loadChildren') { - const init = (node as ts.PropertyAssignment).initializer; - if ( - init.kind === tsModule.SyntaxKind.StringLiteral && - !this.ignoreLoadChildrenDependency(node.getFullText()) - ) { - const childrenExpr = this.getStringLiteralValue(init); - visitor(childrenExpr, filePath, DependencyType.dynamic); - return; // stop traversing downwards - } - } - } - - /** - * Continue traversing down the AST from the current node - */ - tsModule.forEachChild(node, (child) => - this.fromNode(filePath, child, visitor) - ); - } - - private ignoreStatement(node: ts.Node) { - return stripSourceCode(this.scanner, node.getFullText()) === ''; - } - - private ignoreLoadChildrenDependency(contents: string): boolean { - this.scanner.setText(contents); - let token = this.scanner.scan(); - while (token !== tsModule.SyntaxKind.EndOfFileToken) { - if ( - token === tsModule.SyntaxKind.SingleLineCommentTrivia || - token === tsModule.SyntaxKind.MultiLineCommentTrivia - ) { - const start = this.scanner.getStartPos() + 2; - token = this.scanner.scan(); - const isMultiLineCommentTrivia = - token === tsModule.SyntaxKind.MultiLineCommentTrivia; - const end = - this.scanner.getStartPos() - (isMultiLineCommentTrivia ? 2 : 0); - const comment = contents.substring(start, end).trim(); - if (comment === 'nx-ignore-next-line') { - return true; - } - } else { - token = this.scanner.scan(); - } - } - return false; - } - - private getPropertyAssignmentName(nameNode: ts.PropertyName) { - switch (nameNode.kind) { - case tsModule.SyntaxKind.Identifier: - return (nameNode as ts.Identifier).getText(); - case tsModule.SyntaxKind.StringLiteral: - return (nameNode as ts.StringLiteral).text; - default: - return null; - } - } - - private getStringLiteralValue(node: ts.Node): string { - return node.getText().slice(1, -1); - } -} diff --git a/packages/vue/src/graph/processProjectGraph.ts b/packages/vue/src/graph/processProjectGraph.ts deleted file mode 100644 index 9546bde6b..000000000 --- a/packages/vue/src/graph/processProjectGraph.ts +++ /dev/null @@ -1,91 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { - ProjectGraph, - ProjectGraphProcessorContext, - ProjectGraphBuilder, - DependencyType, - ProjectFileMap, -} from '@nx/devkit'; - -import { TypeScriptVueImportLocator } from './TypeScriptVueImportLocator'; -import { TargetProjectLocator } from 'nx/src/plugins/js/project-graph/build-dependencies/target-project-locator'; - -export type ExplicitDependency = { - sourceProjectName: string; - targetProjectName: string; - sourceProjectFile: string; - type?: DependencyType.static | DependencyType.dynamic; -}; - -export async function processProjectGraph( - graph: ProjectGraph, - context: ProjectGraphProcessorContext -) { - const builder = new ProjectGraphBuilder(graph, context.fileMap); - const filesToProcess = context.filesToProcess; - if (Object.keys(filesToProcess).length == 0) { - return graph; - } - - const explicitDependencies: ExplicitDependency[] = - buildExplicitTypeScriptDependencies(graph, filesToProcess); - explicitDependencies.forEach((dependency: ExplicitDependency) => { - builder.addStaticDependency( - dependency.sourceProjectName, - dependency.targetProjectName, - dependency.sourceProjectFile - ); - }); - - return builder.getUpdatedProjectGraph(); -} - -export function buildExplicitTypeScriptDependencies( - graph: ProjectGraph, - filesToProcess: ProjectFileMap -) { - function isRoot(projectName: string) { - return graph.nodes[projectName]?.data?.root === '.'; - } - - const importLocator = new TypeScriptVueImportLocator(); - const targetProjectLocator = new TargetProjectLocator( - graph.nodes, - graph?.externalNodes || {} - ); - - const res: ExplicitDependency[] = []; - Object.keys(filesToProcess).forEach((source) => { - Object.values(filesToProcess[source]).forEach((f) => { - importLocator.fromFile(f.file, (importExpr: any) => { - const target = targetProjectLocator.findProjectWithImport( - importExpr, - f.file - ); - let targetProjectName; - if (target) { - if (!isRoot(source) && isRoot(target)) { - // TODO: These edges technically should be allowed but we need to figure out how to separate config files out from root - return; - } - - targetProjectName = target; - } else { - // treat all unknowns as npm packages, they can be eiher - // - mistyped local import, which has to be fixed manually - // - node internals, which should still be tracked as a dependency - // - npm packages, which are not yet installed but should be tracked - targetProjectName = `npm:${importExpr}`; - } - - res.push({ - sourceProjectName: source, - targetProjectName, - sourceProjectFile: f.file, - }); - }); - }); - }); - - return res; -} diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts deleted file mode 100644 index 102ab5d87..000000000 --- a/packages/vue/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { applicationGenerator } from './generators/application/application'; -export { processProjectGraph } from './graph/processProjectGraph'; diff --git a/packages/vue/src/tailwind.ts b/packages/vue/src/tailwind.ts deleted file mode 100644 index 5422c668a..000000000 --- a/packages/vue/src/tailwind.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { createGlobPatternsForDependencies as jsGenerateGlobs } from '@nx/js/src/utils/generate-globs'; - -/** - * Generates a set of glob patterns based off the source root of the app and its dependencies - * @param dirPath workspace relative directory path that will be used to infer the parent project and dependencies - * @param fileGlobPattern pass a custom glob pattern to be used - */ -export function createGlobPatternsForDependencies( - dirPath: string, - fileGlobPattern = '/**/!(*.stories|*.spec).{tsx,ts,jsx,js,html}' -) { - try { - return jsGenerateGlobs(dirPath, fileGlobPattern); - } catch (e) { - /** - * It should not be possible to reach this point when the utility is invoked as part of the normal - * lifecycle of Nx executors. However, other tooling, such as the VSCode Tailwind IntelliSense plugin - * or JetBrains editors such as WebStorm, may execute the tailwind.config.js file in order to provide - * autocomplete features, for example. - * - * In order to best support that use-case, we therefore do not hard error when the ProjectGraph is - * fundamently unavailable in this tailwind-specific context. - */ - console.warn( - '\nWARNING: There was an error creating glob patterns, returning an empty array\n' + - `${e.message}\n` - ); - return []; - } -} diff --git a/packages/vue/tsconfig.json b/packages/vue/tsconfig.json deleted file mode 100644 index 19b9eece4..000000000 --- a/packages/vue/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "commonjs" - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/vue/tsconfig.lib.json b/packages/vue/tsconfig.lib.json deleted file mode 100644 index ca62a031b..000000000 --- a/packages/vue/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] -} diff --git a/packages/vue/tsconfig.spec.json b/packages/vue/tsconfig.spec.json deleted file mode 100644 index 9b2a121d1..000000000 --- a/packages/vue/tsconfig.spec.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 997e20dc7..ab1fe900e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,27 +61,15 @@ devDependencies: '@nx/storybook': specifier: 16.10.0 version: 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) - '@nx/vite': - specifier: 16.10.0 - version: 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(vite@4.4.9)(vitest@0.34.3) - '@nx/web': - specifier: 16.10.0 - version: 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) '@nx/workspace': specifier: 16.10.0 version: 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91) '@phenomnomnominal/tsquery': specifier: ~5.0.1 version: 5.0.1(typescript@5.1.6) - '@preact/preset-vite': - specifier: ^2.5.0 - version: 2.5.0(@babel/core@7.22.10)(preact@10.11.2)(vite@4.4.9) '@schematics/angular': specifier: 16.0.0 version: 16.0.0 - '@stencil/core': - specifier: 3.4.0 - version: 3.4.0 '@swc-node/register': specifier: 1.6.8 version: 1.6.8(@swc/core@1.3.91)(typescript@5.1.6) @@ -148,9 +136,6 @@ devDependencies: eslint-plugin-cypress: specifier: 2.14.0 version: 2.14.0(eslint@8.46.0) - eslint-plugin-svelte3: - specifier: ^4.0.0 - version: 4.0.0(eslint@8.46.0)(svelte@4.2.1) file-type: specifier: ^18.5.0 version: 18.5.0 @@ -190,12 +175,6 @@ devDependencies: lint-staged: specifier: 13.2.3 version: 13.2.3 - nuxi: - specifier: 3.6.5 - version: 3.6.5 - nuxt: - specifier: 3.6.5 - version: 3.6.5(@types/node@18.15.3)(eslint@8.46.0)(less@4.1.3)(stylus@0.59.0)(typescript@5.1.6) nx: specifier: 16.10.0 version: 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91) @@ -208,12 +187,6 @@ devDependencies: pretty-quick: specifier: ^3.1.3 version: 3.1.3(prettier@2.7.1) - svelte: - specifier: ^4.2.1 - version: 4.2.1 - svelte-preprocess: - specifier: ^5.0.4 - version: 5.0.4(@babel/core@7.22.10)(less@4.1.3)(postcss@8.4.28)(stylus@0.59.0)(svelte@4.2.1)(typescript@5.1.6) tcp-port-used: specifier: ^1.0.2 version: 1.0.2 @@ -238,9 +211,6 @@ devDependencies: verdaccio-auth-memory: specifier: ^10.2.2 version: 10.2.2 - vite-plugin-solid: - specifier: ^2.7.0 - version: 2.7.0(solid-js@1.7.11)(vite@4.4.9) vitepress: specifier: ^1.0.0-rc.20 version: 1.0.0-rc.20(@algolia/client-search@4.19.1)(@types/node@18.15.3)(less@4.1.3)(postcss@8.4.28)(search-insights@2.7.0)(stylus@0.59.0) @@ -252,26 +222,18 @@ devDependencies: version: 21.1.1 packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@adobe/css-tools@4.2.0: - resolution: - { - integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==, - } + resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} dev: true /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0): - resolution: - { - integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==, - } + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0) '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) @@ -282,10 +244,7 @@ packages: dev: true /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0): - resolution: - { - integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==, - } + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: @@ -297,10 +256,7 @@ packages: dev: true /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): - resolution: - { - integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==, - } + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' @@ -311,10 +267,7 @@ packages: dev: true /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): - resolution: - { - integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==, - } + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' @@ -324,35 +277,23 @@ packages: dev: true /@algolia/cache-browser-local-storage@4.19.1: - resolution: - { - integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==, - } + resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==} dependencies: '@algolia/cache-common': 4.19.1 dev: true /@algolia/cache-common@4.19.1: - resolution: - { - integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==, - } + resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==} dev: true /@algolia/cache-in-memory@4.19.1: - resolution: - { - integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==, - } + resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==} dependencies: '@algolia/cache-common': 4.19.1 dev: true /@algolia/client-account@4.19.1: - resolution: - { - integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==, - } + resolution: {integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==} dependencies: '@algolia/client-common': 4.19.1 '@algolia/client-search': 4.19.1 @@ -360,10 +301,7 @@ packages: dev: true /@algolia/client-analytics@4.19.1: - resolution: - { - integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==, - } + resolution: {integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==} dependencies: '@algolia/client-common': 4.19.1 '@algolia/client-search': 4.19.1 @@ -372,20 +310,14 @@ packages: dev: true /@algolia/client-common@4.19.1: - resolution: - { - integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==, - } + resolution: {integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==} dependencies: '@algolia/requester-common': 4.19.1 '@algolia/transporter': 4.19.1 dev: true /@algolia/client-personalization@4.19.1: - resolution: - { - integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==, - } + resolution: {integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==} dependencies: '@algolia/client-common': 4.19.1 '@algolia/requester-common': 4.19.1 @@ -393,10 +325,7 @@ packages: dev: true /@algolia/client-search@4.19.1: - resolution: - { - integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==, - } + resolution: {integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==} dependencies: '@algolia/client-common': 4.19.1 '@algolia/requester-common': 4.19.1 @@ -404,51 +333,33 @@ packages: dev: true /@algolia/logger-common@4.19.1: - resolution: - { - integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==, - } + resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==} dev: true /@algolia/logger-console@4.19.1: - resolution: - { - integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==, - } + resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==} dependencies: '@algolia/logger-common': 4.19.1 dev: true /@algolia/requester-browser-xhr@4.19.1: - resolution: - { - integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==, - } + resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==} dependencies: '@algolia/requester-common': 4.19.1 dev: true /@algolia/requester-common@4.19.1: - resolution: - { - integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==, - } + resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==} dev: true /@algolia/requester-node-http@4.19.1: - resolution: - { - integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==, - } + resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==} dependencies: '@algolia/requester-common': 4.19.1 dev: true /@algolia/transporter@4.19.1: - resolution: - { - integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==, - } + resolution: {integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==} dependencies: '@algolia/cache-common': 4.19.1 '@algolia/logger-common': 4.19.1 @@ -456,27 +367,16 @@ packages: dev: true /@ampproject/remapping@2.2.1: - resolution: - { - integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.18 dev: true /@angular-devkit/architect@0.1602.0(chokidar@3.5.3): - resolution: - { - integrity: sha512-ZRmUTBeD+uGr605eOHnsovEn6f1mOBI+kxP64DRvagNweX5TN04s3iyQ8jmLSAHQD9ush31LFxv3dVNxv3ceXQ==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-ZRmUTBeD+uGr605eOHnsovEn6f1mOBI+kxP64DRvagNweX5TN04s3iyQ8jmLSAHQD9ush31LFxv3dVNxv3ceXQ==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: '@angular-devkit/core': 16.2.0(chokidar@3.5.3) rxjs: 7.8.1 @@ -485,16 +385,8 @@ packages: dev: true /@angular-devkit/build-angular@16.2.0(@angular/compiler-cli@16.2.2)(@swc/core@1.3.91)(@types/node@18.15.3)(jest-environment-jsdom@29.5.0)(jest@29.4.3)(stylus@0.59.0)(typescript@5.1.6): - resolution: - { - integrity: sha512-miylwjOqvlKmYrzS84bjRaJrecZxOXH9xsPVvQE8VBe8UKePJjRAL6yyOqXUOGtzlch2YmT98RAnuni7y0FEAw==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-miylwjOqvlKmYrzS84bjRaJrecZxOXH9xsPVvQE8VBe8UKePJjRAL6yyOqXUOGtzlch2YmT98RAnuni7y0FEAw==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^16.0.0 '@angular/localize': ^16.0.0 @@ -617,16 +509,8 @@ packages: dev: true /@angular-devkit/build-webpack@0.1602.0(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2): - resolution: - { - integrity: sha512-KdSr6iAcO30i/LIGL8mYi+d1buVXuDCp2dptzEJ4vxReOMFJca90KLwb+tVHEqqnDb0WkNfWm8Ii2QYh2FrNyA==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-KdSr6iAcO30i/LIGL8mYi+d1buVXuDCp2dptzEJ4vxReOMFJca90KLwb+tVHEqqnDb0WkNfWm8Ii2QYh2FrNyA==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 @@ -640,16 +524,8 @@ packages: dev: true /@angular-devkit/core@16.0.0: - resolution: - { - integrity: sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 peerDependenciesMeta: @@ -664,16 +540,8 @@ packages: dev: true /@angular-devkit/core@16.2.0(chokidar@3.5.3): - resolution: - { - integrity: sha512-l1k6Rqm3YM16BEn3CWyQKrk9xfu+2ux7Bw3oS+h1TO4/RoxO2PgHj8LLRh/WNrYVarhaqO7QZ5ePBkXNMkzJ1g==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-l1k6Rqm3YM16BEn3CWyQKrk9xfu+2ux7Bw3oS+h1TO4/RoxO2PgHj8LLRh/WNrYVarhaqO7QZ5ePBkXNMkzJ1g==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 peerDependenciesMeta: @@ -689,16 +557,8 @@ packages: dev: true /@angular-devkit/schematics@16.0.0: - resolution: - { - integrity: sha512-9uFOqjOQdhnpxU5mku2LvBkV5Ave2ihHBFaQCH7vQ7DD+p4NpLHu93bMSh+f7k9W7F0lY18g9qrihRgK/7wfuA==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-9uFOqjOQdhnpxU5mku2LvBkV5Ave2ihHBFaQCH7vQ7DD+p4NpLHu93bMSh+f7k9W7F0lY18g9qrihRgK/7wfuA==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: '@angular-devkit/core': 16.0.0 jsonc-parser: 3.2.0 @@ -710,11 +570,8 @@ packages: dev: true /@angular/compiler-cli@16.2.2(@angular/compiler@16.2.2)(typescript@5.1.6): - resolution: - { - integrity: sha512-+4i7o0yBc6xSljO8rdYL1G9AiZr2OW5dJAHfPuO21yNhp9BjIJ/TW+Sw1+o/WH4Gnim9adtnonL18UM+vuYeXg==, - } - engines: { node: ^16.14.0 || >=18.10.0 } + resolution: {integrity: sha512-+4i7o0yBc6xSljO8rdYL1G9AiZr2OW5dJAHfPuO21yNhp9BjIJ/TW+Sw1+o/WH4Gnim9adtnonL18UM+vuYeXg==} + engines: {node: ^16.14.0 || >=18.10.0} hasBin: true peerDependencies: '@angular/compiler': 16.2.2 @@ -735,11 +592,8 @@ packages: dev: true /@angular/compiler@16.2.2: - resolution: - { - integrity: sha512-0X9i5NsqjX++0gmFy0fy2Uc5dHJMxDq6Yu/j1L3RdbvycL1GW+P8GgPfIvD/+v/YiDqpOHQswQXLbkcHw1+svA==, - } - engines: { node: ^16.14.0 || >=18.10.0 } + resolution: {integrity: sha512-0X9i5NsqjX++0gmFy0fy2Uc5dHJMxDq6Yu/j1L3RdbvycL1GW+P8GgPfIvD/+v/YiDqpOHQswQXLbkcHw1+svA==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: '@angular/core': 16.2.2 peerDependenciesMeta: @@ -750,37 +604,25 @@ packages: dev: true /@assemblyscript/loader@0.10.1: - resolution: - { - integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==, - } + resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true /@babel/code-frame@7.22.10: - resolution: - { - integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.22.10 chalk: 2.4.2 dev: true /@babel/compat-data@7.22.9: - resolution: - { - integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core@7.22.10: - resolution: - { - integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.10 @@ -802,11 +644,8 @@ packages: dev: true /@babel/core@7.22.5: - resolution: - { - integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.10 @@ -828,11 +667,8 @@ packages: dev: true /@babel/core@7.22.9: - resolution: - { - integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.10 @@ -854,11 +690,8 @@ packages: dev: true /@babel/generator@7.22.10: - resolution: - { - integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.2 @@ -867,11 +700,8 @@ packages: dev: true /@babel/generator@7.22.9: - resolution: - { - integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.2 @@ -880,31 +710,22 @@ packages: dev: true /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { - integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: - resolution: - { - integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-compilation-targets@7.22.10: - resolution: - { - integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.22.9 '@babel/helper-validator-option': 7.22.5 @@ -914,11 +735,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -935,11 +753,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.9): - resolution: - { - integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -956,11 +771,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10): - resolution: - { - integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -971,11 +783,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.9): - resolution: - { - integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -986,10 +795,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.10): - resolution: - { - integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==, - } + resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1004,10 +810,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.9): - resolution: - { - integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==, - } + resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1022,70 +825,42 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.5: - resolution: - { - integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-function-name@7.22.5: - resolution: - { - integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 '@babel/types': 7.22.10 dev: true /@babel/helper-hoist-variables@7.22.5: - resolution: - { - integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-member-expression-to-functions@7.22.5: - resolution: - { - integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==, - } - engines: { node: '>=6.9.0' } - dependencies: - '@babel/types': 7.22.10 - dev: true - - /@babel/helper-module-imports@7.18.6: - resolution: - { - integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-module-imports@7.22.5: - resolution: - { - integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): - resolution: - { - integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1098,11 +873,8 @@ packages: dev: true /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.5): - resolution: - { - integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1115,11 +887,8 @@ packages: dev: true /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): - resolution: - { - integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1132,29 +901,20 @@ packages: dev: true /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { - integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-plugin-utils@7.22.5: - resolution: - { - integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10): - resolution: - { - integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1165,11 +925,8 @@ packages: dev: true /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.9): - resolution: - { - integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1180,11 +937,8 @@ packages: dev: true /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): - resolution: - { - integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1195,11 +949,8 @@ packages: dev: true /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): - resolution: - { - integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1210,65 +961,44 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { - integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { - integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { - integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.10 dev: true /@babel/helper-string-parser@7.22.5: - resolution: - { - integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-validator-identifier@7.22.5: - resolution: - { - integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-validator-option@7.22.5: - resolution: - { - integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-wrap-function@7.22.9: - resolution: - { - integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.5 @@ -1276,11 +1006,8 @@ packages: dev: true /@babel/helpers@7.22.10: - resolution: - { - integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 '@babel/traverse': 7.22.10 @@ -1290,11 +1017,8 @@ packages: dev: true /@babel/highlight@7.22.10: - resolution: - { - integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 @@ -1302,22 +1026,16 @@ packages: dev: true /@babel/parser@7.22.10: - resolution: - { - integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.22.10 dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1326,11 +1044,8 @@ packages: dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1339,11 +1054,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1354,11 +1066,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1369,11 +1078,8 @@ packages: dev: true /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.9): - resolution: - { - integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1385,11 +1091,8 @@ packages: dev: true /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 @@ -1400,11 +1103,8 @@ packages: dev: true /@babel/plugin-proposal-decorators@7.22.7(@babel/core@7.22.10): - resolution: - { - integrity: sha512-omXqPF7Onq4Bb7wHxXjM3jSMSJvUUbvDvmmds7KI5n9Cq6Ln5I05I1W2nRlRof1rGdiUxJrxwe285WF96XlBXQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-omXqPF7Onq4Bb7wHxXjM3jSMSJvUUbvDvmmds7KI5n9Cq6Ln5I05I1W2nRlRof1rGdiUxJrxwe285WF96XlBXQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1417,11 +1117,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10): - resolution: - { - integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1429,11 +1126,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): - resolution: - { - integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1441,11 +1135,8 @@ packages: dev: true /@babel/plugin-proposal-unicode-property-regex@7.16.7(@babel/core@7.22.10): - resolution: - { - integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==} + engines: {node: '>=4'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 @@ -1456,11 +1147,8 @@ packages: dev: true /@babel/plugin-proposal-unicode-property-regex@7.16.7(@babel/core@7.22.9): - resolution: - { - integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==} + engines: {node: '>=4'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 @@ -1471,10 +1159,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): - resolution: - { - integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, - } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1483,10 +1168,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): - resolution: - { - integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, - } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1495,10 +1177,7 @@ packages: dev: true /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, - } + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1507,10 +1186,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): - resolution: - { - integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, - } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1519,10 +1195,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): - resolution: - { - integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, - } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1531,11 +1204,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1544,11 +1214,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1557,11 +1224,8 @@ packages: dev: true /@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1570,10 +1234,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==, - } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1582,10 +1243,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==, - } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1594,10 +1252,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==, - } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1606,10 +1261,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==, - } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1618,11 +1270,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1631,11 +1280,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1644,11 +1290,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1657,11 +1300,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1670,10 +1310,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): - resolution: - { - integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, - } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1682,10 +1319,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): - resolution: - { - integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, - } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1694,10 +1328,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, - } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1706,10 +1337,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, - } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1718,11 +1346,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1731,10 +1356,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): - resolution: - { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, - } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1743,10 +1365,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): - resolution: - { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, - } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1755,10 +1374,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, - } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1767,10 +1383,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, - } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1779,10 +1392,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): - resolution: - { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, - } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1791,10 +1401,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): - resolution: - { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, - } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1803,10 +1410,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, - } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1815,10 +1419,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, - } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1827,10 +1428,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, - } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1839,10 +1437,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, - } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1851,10 +1446,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, - } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1863,10 +1455,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, - } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1875,11 +1464,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1888,11 +1474,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1901,11 +1484,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1914,11 +1494,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1927,11 +1504,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1940,11 +1514,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1954,11 +1525,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): - resolution: - { - integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1968,11 +1536,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1981,11 +1546,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1994,11 +1556,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.10): - resolution: - { - integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2010,11 +1569,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.9): - resolution: - { - integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2026,11 +1582,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2041,11 +1594,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2056,11 +1606,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2069,11 +1616,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2082,11 +1626,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2095,11 +1636,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2108,11 +1646,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2122,11 +1657,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2136,11 +1668,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -2151,11 +1680,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -2166,11 +1692,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2187,11 +1710,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.9): - resolution: - { - integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2208,11 +1728,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2222,11 +1739,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2236,11 +1750,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2249,11 +1760,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2262,11 +1770,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2276,11 +1781,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2290,11 +1792,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2303,11 +1802,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2316,11 +1812,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2330,11 +1823,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2344,11 +1834,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2358,11 +1845,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2372,11 +1856,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2386,11 +1867,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2400,11 +1878,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2413,11 +1888,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2426,11 +1898,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2441,11 +1910,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2456,11 +1922,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2470,11 +1933,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2484,11 +1944,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2497,11 +1954,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2510,11 +1964,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2524,11 +1975,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2538,11 +1986,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2551,11 +1996,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2564,11 +2006,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2578,11 +2017,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2592,11 +2028,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2607,11 +2040,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2622,11 +2052,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2638,11 +2065,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2654,11 +2078,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2668,11 +2089,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2682,11 +2100,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2696,11 +2111,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2710,11 +2122,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2723,11 +2132,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2736,11 +2142,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2750,11 +2153,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2764,11 +2164,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2778,11 +2175,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2792,11 +2186,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2809,11 +2200,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2826,11 +2214,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2840,11 +2225,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2854,11 +2236,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2868,11 +2247,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2882,11 +2258,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2897,11 +2270,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): - resolution: - { - integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2912,11 +2282,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2925,11 +2292,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2938,11 +2302,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2952,11 +2313,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2966,11 +2324,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2982,11 +2337,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2998,11 +2350,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3011,11 +2360,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3024,11 +2370,8 @@ packages: dev: true /@babel/plugin-transform-react-constant-elements@7.22.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-b5J6muxQYp4H7loAQv/c7GO5cPuRA6H5hx4gO+/Hn+Cu9MRQU0PNiUoWq1L//8sq6kFSNxGXFb2XTaUfa9y+Pg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b5J6muxQYp4H7loAQv/c7GO5cPuRA6H5hx4gO+/Hn+Cu9MRQU0PNiUoWq1L//8sq6kFSNxGXFb2XTaUfa9y+Pg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3037,11 +2380,8 @@ packages: dev: true /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3050,11 +2390,8 @@ packages: dev: true /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3063,11 +2400,8 @@ packages: dev: true /@babel/plugin-transform-react-jsx@7.21.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3080,11 +2414,8 @@ packages: dev: true /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3094,11 +2425,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3108,11 +2436,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3122,11 +2447,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3135,11 +2457,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3148,11 +2467,8 @@ packages: dev: true /@babel/plugin-transform-runtime@7.22.9(@babel/core@7.22.10): - resolution: - { - integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3168,11 +2484,8 @@ packages: dev: true /@babel/plugin-transform-runtime@7.22.9(@babel/core@7.22.9): - resolution: - { - integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3188,11 +2501,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3201,11 +2511,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3214,11 +2521,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3228,11 +2532,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3242,11 +2543,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3255,11 +2553,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3268,11 +2563,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3281,11 +2573,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3294,11 +2583,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3307,11 +2593,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3320,11 +2603,8 @@ packages: dev: true /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10): - resolution: - { - integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3336,11 +2616,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3349,11 +2626,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3362,11 +2636,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3376,11 +2647,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3390,11 +2658,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3404,11 +2669,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3418,11 +2680,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3432,11 +2691,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3446,11 +2702,8 @@ packages: dev: true /@babel/preset-env@7.22.9(@babel/core@7.22.10): - resolution: - { - integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3540,11 +2793,8 @@ packages: dev: true /@babel/preset-env@7.22.9(@babel/core@7.22.9): - resolution: - { - integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3634,10 +2884,7 @@ packages: dev: true /@babel/preset-modules@0.1.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==, - } + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3650,10 +2897,7 @@ packages: dev: true /@babel/preset-modules@0.1.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==, - } + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3666,11 +2910,8 @@ packages: dev: true /@babel/preset-react@7.18.6(@babel/core@7.22.10): - resolution: - { - integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3684,11 +2925,8 @@ packages: dev: true /@babel/preset-typescript@7.22.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3701,36 +2939,24 @@ packages: dev: true /@babel/regjsgen@0.8.0: - resolution: - { - integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==, - } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true /@babel/runtime@7.22.6: - resolution: - { - integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 dev: true /@babel/standalone@7.22.10: - resolution: - { - integrity: sha512-VmK2sWxUTfDDh9mPfCtFJPIehZToteqK+Zpwq8oJUjJ+WeeKIFTTQIrDzH7jEdom+cAaaguU7FI/FBsBWFkIeQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-VmK2sWxUTfDDh9mPfCtFJPIehZToteqK+Zpwq8oJUjJ+WeeKIFTTQIrDzH7jEdom+cAaaguU7FI/FBsBWFkIeQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/template@7.22.5: - resolution: - { - integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.10 '@babel/parser': 7.22.10 @@ -3738,11 +2964,8 @@ packages: dev: true /@babel/traverse@7.22.10: - resolution: - { - integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.10 '@babel/generator': 7.22.10 @@ -3759,11 +2982,8 @@ packages: dev: true /@babel/types@7.22.10: - resolution: - { - integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 @@ -3771,27 +2991,12 @@ packages: dev: true /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@cloudflare/kv-asset-handler@0.3.0: - resolution: - { - integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==, - } - dependencies: - mime: 3.0.0 + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true /@commitlint/config-validator@16.2.1: - resolution: - { - integrity: sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==, - } - engines: { node: '>=v12' } + resolution: {integrity: sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==} + engines: {node: '>=v12'} requiresBuild: true dependencies: '@commitlint/types': 16.2.1 @@ -3800,21 +3005,15 @@ packages: optional: true /@commitlint/execute-rule@16.2.1: - resolution: - { - integrity: sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==, - } - engines: { node: '>=v12' } + resolution: {integrity: sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==} + engines: {node: '>=v12'} requiresBuild: true dev: true optional: true /@commitlint/load@16.2.1(@swc/core@1.3.91): - resolution: - { - integrity: sha512-oSpz0jTyVI/A1AIImxJINTLDOMB8YF7lWGm+Jg5wVWM0r7ucpuhyViVvpSRTgvL0z09oIxlctyFGWUQQpI42uw==, - } - engines: { node: '>=v12' } + resolution: {integrity: sha512-oSpz0jTyVI/A1AIImxJINTLDOMB8YF7lWGm+Jg5wVWM0r7ucpuhyViVvpSRTgvL0z09oIxlctyFGWUQQpI42uw==} + engines: {node: '>=v12'} requiresBuild: true dependencies: '@commitlint/config-validator': 16.2.1 @@ -3835,11 +3034,8 @@ packages: optional: true /@commitlint/resolve-extends@16.2.1: - resolution: - { - integrity: sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==, - } - engines: { node: '>=v12' } + resolution: {integrity: sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==} + engines: {node: '>=v12'} requiresBuild: true dependencies: '@commitlint/config-validator': 16.2.1 @@ -3852,11 +3048,8 @@ packages: optional: true /@commitlint/types@16.2.1: - resolution: - { - integrity: sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==, - } - engines: { node: '>=v12' } + resolution: {integrity: sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==} + engines: {node: '>=v12'} requiresBuild: true dependencies: chalk: 4.1.0 @@ -3864,35 +3057,23 @@ packages: optional: true /@cspotcode/source-map-support@0.8.1: - resolution: - { - integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 dev: true /@discoveryjs/json-ext@0.5.7: - resolution: - { - integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} dev: true /@docsearch/css@3.5.2: - resolution: - { - integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==, - } + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: true /@docsearch/js@3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0): - resolution: - { - integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==, - } + resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} dependencies: '@docsearch/react': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0) preact: 10.11.2 @@ -3905,10 +3086,7 @@ packages: dev: true /@docsearch/react@3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0): - resolution: - { - integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==, - } + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -3933,24 +3111,9 @@ packages: - '@algolia/client-search' dev: true - /@esbuild/android-arm64@0.17.19: - resolution: - { - integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.18.17: - resolution: - { - integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3958,35 +3121,17 @@ packages: optional: true /@esbuild/android-arm64@0.18.20: - resolution: - { - integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: - { - integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.18.17: - resolution: - { - integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3994,35 +3139,17 @@ packages: optional: true /@esbuild/android-arm@0.18.20: - resolution: - { - integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: - { - integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.18.17: - resolution: - { - integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4030,35 +3157,17 @@ packages: optional: true /@esbuild/android-x64@0.18.20: - resolution: - { - integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: - { - integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.18.17: - resolution: - { - integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4066,35 +3175,17 @@ packages: optional: true /@esbuild/darwin-arm64@0.18.20: - resolution: - { - integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: - { - integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.18.17: - resolution: - { - integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4102,35 +3193,17 @@ packages: optional: true /@esbuild/darwin-x64@0.18.20: - resolution: - { - integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: - { - integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.18.17: - resolution: - { - integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4138,35 +3211,17 @@ packages: optional: true /@esbuild/freebsd-arm64@0.18.20: - resolution: - { - integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: - { - integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.18.17: - resolution: - { - integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4174,35 +3229,17 @@ packages: optional: true /@esbuild/freebsd-x64@0.18.20: - resolution: - { - integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: - { - integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.18.17: - resolution: - { - integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4210,35 +3247,17 @@ packages: optional: true /@esbuild/linux-arm64@0.18.20: - resolution: - { - integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: - { - integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.18.17: - resolution: - { - integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4246,35 +3265,17 @@ packages: optional: true /@esbuild/linux-arm@0.18.20: - resolution: - { - integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: - { - integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.18.17: - resolution: - { - integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4282,35 +3283,17 @@ packages: optional: true /@esbuild/linux-ia32@0.18.20: - resolution: - { - integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: - { - integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==, - } - engines: { node: '>=12' } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.18.17: - resolution: - { - integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -4318,35 +3301,17 @@ packages: optional: true /@esbuild/linux-loong64@0.18.20: - resolution: - { - integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: - { - integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==, - } - engines: { node: '>=12' } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.18.17: - resolution: - { - integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4354,35 +3319,17 @@ packages: optional: true /@esbuild/linux-mips64el@0.18.20: - resolution: - { - integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: - { - integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==, - } - engines: { node: '>=12' } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.18.17: - resolution: - { - integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4390,35 +3337,17 @@ packages: optional: true /@esbuild/linux-ppc64@0.18.20: - resolution: - { - integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: - { - integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==, - } - engines: { node: '>=12' } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.18.17: - resolution: - { - integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4426,35 +3355,17 @@ packages: optional: true /@esbuild/linux-riscv64@0.18.20: - resolution: - { - integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: - { - integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==, - } - engines: { node: '>=12' } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.18.17: - resolution: - { - integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4462,35 +3373,17 @@ packages: optional: true /@esbuild/linux-s390x@0.18.20: - resolution: - { - integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: - { - integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.18.17: - resolution: - { - integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4498,35 +3391,17 @@ packages: optional: true /@esbuild/linux-x64@0.18.20: - resolution: - { - integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: - { - integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.18.17: - resolution: - { - integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4534,35 +3409,17 @@ packages: optional: true /@esbuild/netbsd-x64@0.18.20: - resolution: - { - integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: - { - integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.18.17: - resolution: - { - integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4570,35 +3427,17 @@ packages: optional: true /@esbuild/openbsd-x64@0.18.20: - resolution: - { - integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: - { - integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.18.17: - resolution: - { - integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4606,35 +3445,17 @@ packages: optional: true /@esbuild/sunos-x64@0.18.20: - resolution: - { - integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: - { - integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.18.17: - resolution: - { - integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4642,35 +3463,17 @@ packages: optional: true /@esbuild/win32-arm64@0.18.20: - resolution: - { - integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: - { - integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.18.17: - resolution: - { - integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4678,35 +3481,17 @@ packages: optional: true /@esbuild/win32-ia32@0.18.20: - resolution: - { - integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: - { - integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.18.17: - resolution: - { - integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4714,11 +3499,8 @@ packages: optional: true /@esbuild/win32-x64@0.18.20: - resolution: - { - integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4726,11 +3508,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.3.0(eslint@8.46.0): - resolution: - { - integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -4739,19 +3518,13 @@ packages: dev: true /@eslint-community/regexpp@4.6.2: - resolution: - { - integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@2.1.2: - resolution: - { - integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 @@ -4767,19 +3540,13 @@ packages: dev: true /@eslint/js@8.49.0: - resolution: - { - integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /@humanwhocodes/config-array@0.11.10: - resolution: - { - integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==, - } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 debug: 4.3.4 @@ -4789,33 +3556,17 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/object-schema@1.2.1: - resolution: - { - integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, - } - dev: true - - /@ioredis/commands@1.2.0: - resolution: - { - integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==, - } + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true /@istanbuljs/load-nyc-config@1.1.0: - resolution: - { - integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 find-up: 4.1.0 @@ -4825,19 +3576,13 @@ packages: dev: true /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} dev: true /@jest/console@29.5.0: - resolution: - { - integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 18.15.3 @@ -4848,11 +3593,8 @@ packages: dev: true /@jest/core@29.5.0(ts-node@10.9.1): - resolution: - { - integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -4893,21 +3635,15 @@ packages: dev: true /@jest/create-cache-key-function@27.5.1: - resolution: - { - integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==, - } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 dev: true /@jest/environment@29.6.3: - resolution: - { - integrity: sha512-u/u3cCztYCfgBiGHsamqP5x+XvucftOGPbf5RJQxfpeC1y4AL8pCjKvPDA3oCmdhZYPgk5AE0VOD/flweR69WA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-u/u3cCztYCfgBiGHsamqP5x+XvucftOGPbf5RJQxfpeC1y4AL8pCjKvPDA3oCmdhZYPgk5AE0VOD/flweR69WA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/fake-timers': 29.6.3 '@jest/types': 29.6.3 @@ -4916,21 +3652,15 @@ packages: dev: true /@jest/expect-utils@29.5.0: - resolution: - { - integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 dev: true /@jest/expect@29.5.0: - resolution: - { - integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: expect: 29.5.0 jest-snapshot: 29.5.0 @@ -4939,11 +3669,8 @@ packages: dev: true /@jest/fake-timers@29.6.3: - resolution: - { - integrity: sha512-pa1wmqvbj6eX0nMvOM2VDAWvJOI5A/Mk3l8O7n7EsAh71sMZblaKO9iT4GjIj0LwwK3CP/Jp1ypEV0x3m89RvA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-pa1wmqvbj6eX0nMvOM2VDAWvJOI5A/Mk3l8O7n7EsAh71sMZblaKO9iT4GjIj0LwwK3CP/Jp1ypEV0x3m89RvA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.0.2 @@ -4954,11 +3681,8 @@ packages: dev: true /@jest/globals@29.5.0: - resolution: - { - integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.6.3 '@jest/expect': 29.5.0 @@ -4969,11 +3693,8 @@ packages: dev: true /@jest/reporters@29.5.0: - resolution: - { - integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -5009,21 +3730,15 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/source-map@29.4.3: - resolution: - { - integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jridgewell/trace-mapping': 0.3.18 callsites: 3.1.0 @@ -5031,11 +3746,8 @@ packages: dev: true /@jest/test-result@29.5.0: - resolution: - { - integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.5.0 '@jest/types': 29.6.3 @@ -5044,11 +3756,8 @@ packages: dev: true /@jest/test-sequencer@29.5.0: - resolution: - { - integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.5.0 graceful-fs: 4.2.9 @@ -5057,11 +3766,8 @@ packages: dev: true /@jest/transform@29.5.0: - resolution: - { - integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.10 '@jest/types': 29.6.3 @@ -5083,11 +3789,8 @@ packages: dev: true /@jest/types@27.5.1: - resolution: - { - integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==, - } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 @@ -5097,11 +3800,8 @@ packages: dev: true /@jest/types@29.6.3: - resolution: - { - integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 @@ -5112,11 +3812,8 @@ packages: dev: true /@jridgewell/gen-mapping@0.3.2: - resolution: - { - integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 @@ -5124,99 +3821,51 @@ packages: dev: true /@jridgewell/resolve-uri@3.1.0: - resolution: - { - integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} dev: true /@jridgewell/set-array@1.1.2: - resolution: - { - integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} dev: true /@jridgewell/source-map@0.3.5: - resolution: - { - integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==, - } + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.18 dev: true /@jridgewell/sourcemap-codec@1.4.14: - resolution: - { - integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, - } + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true /@jridgewell/trace-mapping@0.3.18: - resolution: - { - integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==, - } + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true /@jridgewell/trace-mapping@0.3.9: - resolution: - { - integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, - } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@leichtgewicht/ip-codec@2.0.4: - resolution: - { - integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==, - } - dev: true - - /@mapbox/node-pre-gyp@1.0.11: - resolution: - { - integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==, - } - hasBin: true - dependencies: - detect-libc: 2.0.2 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.6.13 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.5.4 - tar: 6.1.15 - transitivePeerDependencies: - - encoding - - supports-color + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true /@mole-inc/bin-wrapper@8.0.1: - resolution: - { - integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: bin-check: 4.1.0 bin-version-check: 5.0.0 @@ -5228,27 +3877,9 @@ packages: os-filter-obj: 2.0.0 dev: true - /@netlify/functions@1.6.0: - resolution: - { - integrity: sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==, - } - engines: { node: '>=14.0.0' } - dependencies: - is-promise: 4.0.0 - dev: true - /@ngtools/webpack@16.2.0(@angular/compiler-cli@16.2.2)(typescript@5.1.6)(webpack@5.88.2): - resolution: - { - integrity: sha512-c9jv4r7GnLTpnPOeF+a9yAm/3/2wwl9lMBU32i9hlY+q/Hqde4PiL95bUOLnRRL1I64DV7BFTlSZqSPgDpFXZQ==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-c9jv4r7GnLTpnPOeF+a9yAm/3/2wwl9lMBU32i9hlY+q/Hqde4PiL95bUOLnRRL1I64DV7BFTlSZqSPgDpFXZQ==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^16.0.0 typescript: '>=4.9.3 <5.2' @@ -5260,40 +3891,28 @@ packages: dev: true /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 dev: true /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} dev: true /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 dev: true /@nrwl/angular@16.10.0(@angular-devkit/build-angular@16.2.0)(@angular-devkit/core@16.0.0)(@angular-devkit/schematics@16.0.0)(@schematics/angular@16.0.0)(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(rxjs@7.8.1)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-MT4gYcvsHxNXTIu40CZKVmO7PD42HeJKfQpVOKPZnfRl9Zf38tRtDnC99QxMpVk/4fo9y1hM8ifoDO97WFOBOQ==, - } + resolution: {integrity: sha512-MT4gYcvsHxNXTIu40CZKVmO7PD42HeJKfQpVOKPZnfRl9Zf38tRtDnC99QxMpVk/4fo9y1hM8ifoDO97WFOBOQ==} dependencies: '@nx/angular': 16.10.0(@angular-devkit/build-angular@16.2.0)(@angular-devkit/core@16.0.0)(@angular-devkit/schematics@16.0.0)(@schematics/angular@16.0.0)(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(rxjs@7.8.1)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0) tslib: 2.6.1 @@ -5336,10 +3955,7 @@ packages: dev: true /@nrwl/cypress@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-ns6VQrrF08XYwZE4OduLVK2rwpN6dNrkVArw4fzJccuZ1g3YxR5JSuxpdBQA3FjKWoo2DybivuQudpIlYGq3UQ==, - } + resolution: {integrity: sha512-ns6VQrrF08XYwZE4OduLVK2rwpN6dNrkVArw4fzJccuZ1g3YxR5JSuxpdBQA3FjKWoo2DybivuQudpIlYGq3UQ==} dependencies: '@nx/cypress': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5358,10 +3974,7 @@ packages: dev: true /@nrwl/devkit@16.10.0(nx@16.10.0): - resolution: - { - integrity: sha512-fRloARtsDQoQgQ7HKEy0RJiusg/HSygnmg4gX/0n/Z+SUS+4KoZzvHjXc6T5ZdEiSjvLypJ+HBM8dQzIcVACPQ==, - } + resolution: {integrity: sha512-fRloARtsDQoQgQ7HKEy0RJiusg/HSygnmg4gX/0n/Z+SUS+4KoZzvHjXc6T5ZdEiSjvLypJ+HBM8dQzIcVACPQ==} dependencies: '@nx/devkit': 16.10.0(nx@16.10.0) transitivePeerDependencies: @@ -5369,10 +3982,7 @@ packages: dev: true /@nrwl/eslint-plugin-nx@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.8.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-w8fHXEatdPHQeP/Yompsdrgz4BJ2BSVaaaulcovzTNJ9KrCCtDyTGY7sihU7qLVcbZtUVq9xoAsSeuTQuOCTDw==, - } + resolution: {integrity: sha512-w8fHXEatdPHQeP/Yompsdrgz4BJ2BSVaaaulcovzTNJ9KrCCtDyTGY7sihU7qLVcbZtUVq9xoAsSeuTQuOCTDw==} dependencies: '@nx/eslint-plugin': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.8.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5392,10 +4002,7 @@ packages: dev: true /@nrwl/jest@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-hZuIK3xXh4HaE6/Ny8hGidjkJ4aLZjnQtPDxKD/423gznQe2FdHx3avoSlbOEOx5Oc6sJ9QGGZLcvckKQ5uWww==, - } + resolution: {integrity: sha512-hZuIK3xXh4HaE6/Ny8hGidjkJ4aLZjnQtPDxKD/423gznQe2FdHx3avoSlbOEOx5Oc6sJ9QGGZLcvckKQ5uWww==} dependencies: '@nx/jest': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5414,10 +4021,7 @@ packages: dev: true /@nrwl/js@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-asybPpyPrxLLDWWdYzFqbgubLmDKLEhoMz8x9MPOm3CH8v2vlIE6hD0JT19GdJArBPxRB33nhjtu8wmJGz5czw==, - } + resolution: {integrity: sha512-asybPpyPrxLLDWWdYzFqbgubLmDKLEhoMz8x9MPOm3CH8v2vlIE6hD0JT19GdJArBPxRB33nhjtu8wmJGz5czw==} dependencies: '@nx/js': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5434,10 +4038,7 @@ packages: dev: true /@nrwl/linter@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-XvMuTeIc2I3630iaqhlV4w3qgABQIo+kv8mT0DbT1HfjjZDm4ST8hrvkdWSf9mCl24vShNL8GDVQVNOX0bZY5A==, - } + resolution: {integrity: sha512-XvMuTeIc2I3630iaqhlV4w3qgABQIo+kv8mT0DbT1HfjjZDm4ST8hrvkdWSf9mCl24vShNL8GDVQVNOX0bZY5A==} dependencies: '@nx/linter': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5454,10 +4055,7 @@ packages: dev: true /@nrwl/node@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-UZ1s02f2IpFRXzVZIBuDLXXB+obyP280RFHV9smYruhOHrj8iA5wXNSXcJJGorwpKP3WCUS/+KS49oVSHOkLUA==, - } + resolution: {integrity: sha512-UZ1s02f2IpFRXzVZIBuDLXXB+obyP280RFHV9smYruhOHrj8iA5wXNSXcJJGorwpKP3WCUS/+KS49oVSHOkLUA==} dependencies: '@nx/node': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5477,10 +4075,7 @@ packages: dev: true /@nrwl/nx-cloud@16.4.0: - resolution: - { - integrity: sha512-QitrYK6z9ceagetBlgLMZnC0T85k2JTk+oK0MxZ5p/woclqeYN7SiGNZgMzDq8TjJwt8Fm/MDnsSo3xtufmLBg==, - } + resolution: {integrity: sha512-QitrYK6z9ceagetBlgLMZnC0T85k2JTk+oK0MxZ5p/woclqeYN7SiGNZgMzDq8TjJwt8Fm/MDnsSo3xtufmLBg==} dependencies: nx-cloud: 16.4.0 transitivePeerDependencies: @@ -5488,10 +4083,7 @@ packages: dev: true /@nrwl/nx-plugin@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-AZiQ+amECFQGcWKhvs+KbqOzGU2dcQydGd0j4Wlz3xlfkEmYfCk80dj26ypSFB+3O+0p+q+HPpJhD0fka3shtw==, - } + resolution: {integrity: sha512-AZiQ+amECFQGcWKhvs+KbqOzGU2dcQydGd0j4Wlz3xlfkEmYfCk80dj26ypSFB+3O+0p+q+HPpJhD0fka3shtw==} dependencies: '@nx/plugin': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5511,10 +4103,7 @@ packages: dev: true /@nrwl/react@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(webpack@5.88.2): - resolution: - { - integrity: sha512-00JmHuA97K7t2Z22fGvNqMZuhmRO/IpceLPdUhQOeAY/lb+e3ffVf+CDOBnTC/ISjrIoIyYcfmbAl4ZxxvvN7w==, - } + resolution: {integrity: sha512-00JmHuA97K7t2Z22fGvNqMZuhmRO/IpceLPdUhQOeAY/lb+e3ffVf+CDOBnTC/ISjrIoIyYcfmbAl4ZxxvvN7w==} dependencies: '@nx/react': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(webpack@5.88.2) transitivePeerDependencies: @@ -5533,10 +4122,7 @@ packages: dev: true /@nrwl/storybook@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-/S8usLsA/gEPG6LxPwciDSPCn0xGixhN0FxG39+whGkBttC1u7CDNhUstoGK3zmq0d/y8Q2v64uUCv9GPZlAWg==, - } + resolution: {integrity: sha512-/S8usLsA/gEPG6LxPwciDSPCn0xGixhN0FxG39+whGkBttC1u7CDNhUstoGK3zmq0d/y8Q2v64uUCv9GPZlAWg==} dependencies: '@nx/storybook': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5555,10 +4141,7 @@ packages: dev: true /@nrwl/tao@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91): - resolution: - { - integrity: sha512-QNAanpINbr+Pod6e1xNgFbzK1x5wmZl+jMocgiEFXZ67KHvmbD6MAQQr0MMz+GPhIu7EE4QCTLTyCEMlAG+K5Q==, - } + resolution: {integrity: sha512-QNAanpINbr+Pod6e1xNgFbzK1x5wmZl+jMocgiEFXZ67KHvmbD6MAQQr0MMz+GPhIu7EE4QCTLTyCEMlAG+K5Q==} hasBin: true dependencies: nx: 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91) @@ -5569,33 +4152,8 @@ packages: - debug dev: true - /@nrwl/vite@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(vite@4.4.9)(vitest@0.34.3): - resolution: - { - integrity: sha512-15ARYsaiauksgj077YJuJW5uKTOWdA7IZ4fm5ewRUWQyNNZeVSG9Fm3bkJWB9YLjnce3/Fuop+ynm0j3C01Phg==, - } - dependencies: - '@nx/vite': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(vite@4.4.9)(vitest@0.34.3) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - nx - - supports-color - - typescript - - verdaccio - - vite - - vitest - dev: true - /@nrwl/web@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-BRQGOHiuEptVhjmXnlqM47epUL00RoUMjhcsfMNjyZ7WpdY0JjwJaNx4afylt3h28mSXVi4t008oE5FEC+YfYw==, - } + resolution: {integrity: sha512-BRQGOHiuEptVhjmXnlqM47epUL00RoUMjhcsfMNjyZ7WpdY0JjwJaNx4afylt3h28mSXVi4t008oE5FEC+YfYw==} dependencies: '@nx/web': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5612,10 +4170,7 @@ packages: dev: true /@nrwl/webpack@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-oh/8jzytaU2YM6DOvEOt2CysKWpru+fc+M31JGj6gdq1c1wr4feSs1c/rmJ4jAfvYqejrJwyZK96XX1uRo+3RQ==, - } + resolution: {integrity: sha512-oh/8jzytaU2YM6DOvEOt2CysKWpru+fc+M31JGj6gdq1c1wr4feSs1c/rmJ4jAfvYqejrJwyZK96XX1uRo+3RQ==} dependencies: '@nx/webpack': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) transitivePeerDependencies: @@ -5647,10 +4202,7 @@ packages: dev: true /@nrwl/workspace@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91): - resolution: - { - integrity: sha512-fZeNxhFs/2cm326NebfJIgSI3W4KZN94WGS46wlIBrUUGP5/vwHYsi09Kx6sG1kRkAuZVtgJ33uU2F6xcAWzUA==, - } + resolution: {integrity: sha512-fZeNxhFs/2cm326NebfJIgSI3W4KZN94WGS46wlIBrUUGP5/vwHYsi09Kx6sG1kRkAuZVtgJ33uU2F6xcAWzUA==} dependencies: '@nx/workspace': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91) transitivePeerDependencies: @@ -5659,19 +4211,9 @@ packages: - debug dev: true - /@nuxt/devalue@2.0.2: - resolution: - { - integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==, - } - dev: true - /@nuxt/kit@3.6.5: - resolution: - { - integrity: sha512-uBI5I2Zx6sk+vRHU+nBmifwxg/nyXCGZ1g5hUKrUfgv1ZfiKB8JkN5T9iRoduDOaqbwM6XSnEl1ja73iloDcrw==, - } - engines: { node: ^14.18.0 || >=16.10.0 } + resolution: {integrity: sha512-uBI5I2Zx6sk+vRHU+nBmifwxg/nyXCGZ1g5hUKrUfgv1ZfiKB8JkN5T9iRoduDOaqbwM6XSnEl1ja73iloDcrw==} + engines: {node: ^14.18.0 || >=16.10.0} dependencies: '@nuxt/schema': 3.6.5 c12: 1.4.2 @@ -5688,7 +4230,7 @@ packages: scule: 1.0.0 semver: 7.5.4 unctx: 2.3.1 - unimport: 3.2.0(rollup@3.28.1) + unimport: 3.2.0 untyped: 1.4.0 transitivePeerDependencies: - rollup @@ -5696,11 +4238,8 @@ packages: dev: true /@nuxt/schema@3.6.5: - resolution: - { - integrity: sha512-UPUnMB0W5TZ/Pi1fiF71EqIsPlj8LGZqzhSf8wOeh538KHwxbA9r7cuvEUU92eXRksOZaylbea3fJxZWhOITVw==, - } - engines: { node: ^14.18.0 || >=16.10.0 } + resolution: {integrity: sha512-UPUnMB0W5TZ/Pi1fiF71EqIsPlj8LGZqzhSf8wOeh538KHwxbA9r7cuvEUU92eXRksOZaylbea3fJxZWhOITVw==} + engines: {node: ^14.18.0 || >=16.10.0} dependencies: defu: 6.1.2 hookable: 5.5.3 @@ -5709,122 +4248,15 @@ packages: postcss-import-resolver: 2.0.0 std-env: 3.4.3 ufo: 1.3.0 - unimport: 3.2.0(rollup@3.28.1) + unimport: 3.2.0 untyped: 1.4.0 transitivePeerDependencies: - rollup - supports-color dev: true - /@nuxt/telemetry@2.4.1: - resolution: - { - integrity: sha512-Cj+4sXjO5pZNW2sX7Y+djYpf4pZwgYF3rV/YHLWIOq9nAjo2UcDXjh1z7qnhkoUkvJN3lHnvhnCNhfAioe6k/A==, - } - hasBin: true - dependencies: - '@nuxt/kit': 3.6.5 - chalk: 5.3.0 - ci-info: 3.8.0 - consola: 3.2.3 - create-require: 1.1.1 - defu: 6.1.2 - destr: 2.0.1 - dotenv: 16.3.1 - fs-extra: 11.1.1 - git-url-parse: 13.1.0 - is-docker: 3.0.0 - jiti: 1.19.3 - mri: 1.2.0 - nanoid: 4.0.2 - node-fetch: 3.3.2 - ofetch: 1.2.1 - parse-git-config: 3.0.0 - pathe: 1.1.1 - rc9: 2.1.1 - std-env: 3.4.3 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/ui-templates@1.3.1: - resolution: - { - integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==, - } - dev: true - - /@nuxt/vite-builder@3.6.5(@types/node@18.15.3)(eslint@8.46.0)(less@4.1.3)(stylus@0.59.0)(typescript@5.1.6)(vue@3.3.4): - resolution: - { - integrity: sha512-pwSpt257ApCp3XWUs8vrC7X9QHeHUv5PbbIR3+5w0n5f95XPNOQWDJa2fTPX/H6oaRJCPYAsBPqiQhQ7qW/NZQ==, - } - engines: { node: ^14.18.0 || >=16.10.0 } - peerDependencies: - vue: ^3.3.4 - dependencies: - '@nuxt/kit': 3.6.5 - '@rollup/plugin-replace': 5.0.2(rollup@3.28.1) - '@vitejs/plugin-vue': 4.2.3(vite@4.3.9)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': 3.0.2(vite@4.3.9)(vue@3.3.4) - autoprefixer: 10.4.15(postcss@8.4.28) - clear: 0.1.0 - consola: 3.2.3 - cssnano: 6.0.1(postcss@8.4.28) - defu: 6.1.2 - esbuild: 0.18.20 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - externality: 1.0.2 - fs-extra: 11.1.1 - get-port-please: 3.0.1 - h3: 1.8.0 - knitwork: 1.0.0 - magic-string: 0.30.3 - mlly: 1.4.1 - ohash: 1.1.3 - pathe: 1.1.1 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - postcss: 8.4.28 - postcss-import: 15.1.0(postcss@8.4.28) - postcss-url: 10.1.3(postcss@8.4.28) - rollup-plugin-visualizer: 5.9.2(rollup@3.28.1) - std-env: 3.4.3 - strip-literal: 1.3.0 - ufo: 1.3.0 - unplugin: 1.4.0 - vite: 4.3.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vite-node: 0.33.0(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vite-plugin-checker: 0.6.2(eslint@8.46.0)(typescript@5.1.6)(vite@4.3.9) - vue: 3.3.4 - vue-bundle-renderer: 1.0.3 - transitivePeerDependencies: - - '@types/node' - - eslint - - less - - lightningcss - - meow - - optionator - - rollup - - sass - - stylelint - - stylus - - sugarss - - supports-color - - terser - - typescript - - vls - - vti - - vue-tsc - dev: true - /@nx/angular@16.10.0(@angular-devkit/build-angular@16.2.0)(@angular-devkit/core@16.0.0)(@angular-devkit/schematics@16.0.0)(@schematics/angular@16.0.0)(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(rxjs@7.8.1)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-NkXe6N0vYrd8YexAjDUE9yLVOBtNrXuCnp2HW+QePd0sW5AiUeNeGwy07oStCJwH9xD5Rr5nl3JPrpBFEdNlVg==, - } + resolution: {integrity: sha512-NkXe6N0vYrd8YexAjDUE9yLVOBtNrXuCnp2HW+QePd0sW5AiUeNeGwy07oStCJwH9xD5Rr5nl3JPrpBFEdNlVg==} peerDependencies: '@angular-devkit/build-angular': '>= 14.0.0 < 17.0.0' '@angular-devkit/core': '>= 14.0.0 < 17.0.0' @@ -5896,10 +4328,7 @@ packages: dev: true /@nx/cypress@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-suYc5jC6Os0D78Fn2pAIuGOkM6nhIWsSEb94PWwdZWE0XKQiWrgQJZBXDIu3x2zq6oZxYdx8OufUFli8vr4/Tw==, - } + resolution: {integrity: sha512-suYc5jC6Os0D78Fn2pAIuGOkM6nhIWsSEb94PWwdZWE0XKQiWrgQJZBXDIu3x2zq6oZxYdx8OufUFli8vr4/Tw==} peerDependencies: cypress: '>= 3 < 14' peerDependenciesMeta: @@ -5929,10 +4358,7 @@ packages: dev: true /@nx/devkit@16.10.0(nx@16.10.0): - resolution: - { - integrity: sha512-IvKQqRJFDDiaj33SPfGd3ckNHhHi6ceEoqCbAP4UuMXOPPVOX6H0KVk+9tknkPb48B7jWIw6/AgOeWkBxPRO5w==, - } + resolution: {integrity: sha512-IvKQqRJFDDiaj33SPfGd3ckNHhHi6ceEoqCbAP4UuMXOPPVOX6H0KVk+9tknkPb48B7jWIw6/AgOeWkBxPRO5w==} peerDependencies: nx: '>= 15 <= 17' dependencies: @@ -5947,10 +4373,7 @@ packages: dev: true /@nx/eslint-plugin@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.8.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-fdOlCrSJK6HfCs+FVXUxzS5gobnGymTU85B3vXPYkVpJwKmq9voX7HBhx9euScRGgXdO9335DIixc/QV6zGpKA==, - } + resolution: {integrity: sha512-fdOlCrSJK6HfCs+FVXUxzS5gobnGymTU85B3vXPYkVpJwKmq9voX7HBhx9euScRGgXdO9335DIixc/QV6zGpKA==} peerDependencies: '@typescript-eslint/parser': ^5.60.1 eslint-config-prettier: ^8.1.0 @@ -5985,10 +4408,7 @@ packages: dev: true /@nx/jest@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-QseeLjDrl4c9q9Dd/057SXYqd47JVLhD2VQlQDraYwjsHz3lWkzlGaaHy0ZrVu8LSzY7lUUhJMPyYO3qo8wT6A==, - } + resolution: {integrity: sha512-QseeLjDrl4c9q9Dd/057SXYqd47JVLhD2VQlQDraYwjsHz3lWkzlGaaHy0ZrVu8LSzY7lUUhJMPyYO3qo8wT6A==} dependencies: '@jest/reporters': 29.5.0 '@jest/test-result': 29.5.0 @@ -6019,10 +4439,7 @@ packages: dev: true /@nx/js@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-27AH0/+XTMzOxVS6oV8Zl7/Rr1UDMYsnCVqoCU9CXp087uxcD4VnBOEjsEUlJKh1RdwGE3K0hBkk7NC1LP+vYQ==, - } + resolution: {integrity: sha512-27AH0/+XTMzOxVS6oV8Zl7/Rr1UDMYsnCVqoCU9CXp087uxcD4VnBOEjsEUlJKh1RdwGE3K0hBkk7NC1LP+vYQ==} peerDependencies: verdaccio: ^5.0.4 peerDependenciesMeta: @@ -6073,10 +4490,7 @@ packages: dev: true /@nx/linter@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-G6XBfuMHNHoJDc4n2Gip4fsa9KssT91V5PF2Rd4hILkg4YU8B8mlmHN71stpzwbEyUJtyhyJc5SGgVLrSpRQew==, - } + resolution: {integrity: sha512-G6XBfuMHNHoJDc4n2Gip4fsa9KssT91V5PF2Rd4hILkg4YU8B8mlmHN71stpzwbEyUJtyhyJc5SGgVLrSpRQew==} peerDependencies: eslint: ^8.0.0 peerDependenciesMeta: @@ -6104,10 +4518,7 @@ packages: dev: true /@nx/node@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-mOGxsZzLNg9kMy/FDkCQfhb/ig3WsttHxzG9+ynCHBV5svKOIqA3F+EUp1gre6wgRyi/qrEUhk6GER5ZTX2ygw==, - } + resolution: {integrity: sha512-mOGxsZzLNg9kMy/FDkCQfhb/ig3WsttHxzG9+ynCHBV5svKOIqA3F+EUp1gre6wgRyi/qrEUhk6GER5ZTX2ygw==} dependencies: '@nrwl/node': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0) '@nx/devkit': 16.10.0(nx@16.10.0) @@ -6133,11 +4544,8 @@ packages: dev: true /@nx/nx-darwin-arm64@16.10.0: - resolution: - { - integrity: sha512-YF+MIpeuwFkyvM5OwgY/rTNRpgVAI/YiR0yTYCZR+X3AAvP775IVlusNgQ3oedTBRUzyRnI4Tknj1WniENFsvQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-YF+MIpeuwFkyvM5OwgY/rTNRpgVAI/YiR0yTYCZR+X3AAvP775IVlusNgQ3oedTBRUzyRnI4Tknj1WniENFsvQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -6145,11 +4553,8 @@ packages: optional: true /@nx/nx-darwin-x64@16.10.0: - resolution: - { - integrity: sha512-ypi6YxwXgb0kg2ixKXE3pwf5myVNUgWf1CsV5OzVccCM8NzheMO51KDXTDmEpXdzUsfT0AkO1sk5GZeCjhVONg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-ypi6YxwXgb0kg2ixKXE3pwf5myVNUgWf1CsV5OzVccCM8NzheMO51KDXTDmEpXdzUsfT0AkO1sk5GZeCjhVONg==} + engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -6157,11 +4562,8 @@ packages: optional: true /@nx/nx-freebsd-x64@16.10.0: - resolution: - { - integrity: sha512-UeEYFDmdbbDkTQamqvtU8ibgu5jQLgFF1ruNb/U4Ywvwutw2d4ruOMl2e0u9hiNja9NFFAnDbvzrDcMo7jYqYw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-UeEYFDmdbbDkTQamqvtU8ibgu5jQLgFF1ruNb/U4Ywvwutw2d4ruOMl2e0u9hiNja9NFFAnDbvzrDcMo7jYqYw==} + engines: {node: '>= 10'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -6169,11 +4571,8 @@ packages: optional: true /@nx/nx-linux-arm-gnueabihf@16.10.0: - resolution: - { - integrity: sha512-WV3XUC2DB6/+bz1sx+d1Ai9q2Cdr+kTZRN50SOkfmZUQyEBaF6DRYpx/a4ahhxH3ktpNfyY8Maa9OEYxGCBkQA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-WV3XUC2DB6/+bz1sx+d1Ai9q2Cdr+kTZRN50SOkfmZUQyEBaF6DRYpx/a4ahhxH3ktpNfyY8Maa9OEYxGCBkQA==} + engines: {node: '>= 10'} cpu: [arm] os: [linux] requiresBuild: true @@ -6181,11 +4580,8 @@ packages: optional: true /@nx/nx-linux-arm64-gnu@16.10.0: - resolution: - { - integrity: sha512-aWIkOUw995V3ItfpAi5FuxQ+1e9EWLS1cjWM1jmeuo+5WtaKToJn5itgQOkvSlPz+HSLgM3VfXMvOFALNk125g==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-aWIkOUw995V3ItfpAi5FuxQ+1e9EWLS1cjWM1jmeuo+5WtaKToJn5itgQOkvSlPz+HSLgM3VfXMvOFALNk125g==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6193,11 +4589,8 @@ packages: optional: true /@nx/nx-linux-arm64-musl@16.10.0: - resolution: - { - integrity: sha512-uO6Gg+irqpVcCKMcEPIQcTFZ+tDI02AZkqkP7koQAjniLEappd8DnUBSQdcn53T086pHpdc264X/ZEpXFfrKWQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-uO6Gg+irqpVcCKMcEPIQcTFZ+tDI02AZkqkP7koQAjniLEappd8DnUBSQdcn53T086pHpdc264X/ZEpXFfrKWQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6205,11 +4598,8 @@ packages: optional: true /@nx/nx-linux-x64-gnu@16.10.0: - resolution: - { - integrity: sha512-134PW/u/arNFAQKpqMJniC7irbChMPz+W+qtyKPAUXE0XFKPa7c1GtlI/wK2dvP9qJDZ6bKf0KtA0U/m2HMUOA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-134PW/u/arNFAQKpqMJniC7irbChMPz+W+qtyKPAUXE0XFKPa7c1GtlI/wK2dvP9qJDZ6bKf0KtA0U/m2HMUOA==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6217,11 +4607,8 @@ packages: optional: true /@nx/nx-linux-x64-musl@16.10.0: - resolution: - { - integrity: sha512-q8sINYLdIJxK/iUx9vRk5jWAWb/2O0PAbOJFwv4qkxBv4rLoN7y+otgCZ5v0xfx/zztFgk/oNY4lg5xYjIso2Q==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-q8sINYLdIJxK/iUx9vRk5jWAWb/2O0PAbOJFwv4qkxBv4rLoN7y+otgCZ5v0xfx/zztFgk/oNY4lg5xYjIso2Q==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6229,11 +4616,8 @@ packages: optional: true /@nx/nx-win32-arm64-msvc@16.10.0: - resolution: - { - integrity: sha512-moJkL9kcqxUdJSRpG7dET3UeLIciwrfP08mzBQ12ewo8K8FzxU8ZUsTIVVdNrwt01CXOdXoweGfdQLjJ4qTURA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-moJkL9kcqxUdJSRpG7dET3UeLIciwrfP08mzBQ12ewo8K8FzxU8ZUsTIVVdNrwt01CXOdXoweGfdQLjJ4qTURA==} + engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -6241,11 +4625,8 @@ packages: optional: true /@nx/nx-win32-x64-msvc@16.10.0: - resolution: - { - integrity: sha512-5iV2NKZnzxJwZZ4DM5JVbRG/nkhAbzEskKaLBB82PmYGKzaDHuMHP1lcPoD/rtYMlowZgNA/RQndfKvPBPwmXA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-5iV2NKZnzxJwZZ4DM5JVbRG/nkhAbzEskKaLBB82PmYGKzaDHuMHP1lcPoD/rtYMlowZgNA/RQndfKvPBPwmXA==} + engines: {node: '>= 10'} cpu: [x64] os: [win32] requiresBuild: true @@ -6253,10 +4634,7 @@ packages: optional: true /@nx/playwright@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-E+Z+kkusaA2OnYIOwpocdwqQPSplp3II2c9W7g7MDA0sJyoHc9Xggw0Xdfncm19RXRT0OmBxA3laN5a4GdN1ZQ==, - } + resolution: {integrity: sha512-E+Z+kkusaA2OnYIOwpocdwqQPSplp3II2c9W7g7MDA0sJyoHc9Xggw0Xdfncm19RXRT0OmBxA3laN5a4GdN1ZQ==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: @@ -6280,10 +4658,7 @@ packages: dev: true /@nx/plugin@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-oTTl+yZBfj/EBvqp8vxzE/JhavT2lWaWNKBj1B8kNOYDG041Pf6jj7GazcQmPd+g1UM96Ut0HZit/rsoJOTdvQ==, - } + resolution: {integrity: sha512-oTTl+yZBfj/EBvqp8vxzE/JhavT2lWaWNKBj1B8kNOYDG041Pf6jj7GazcQmPd+g1UM96Ut0HZit/rsoJOTdvQ==} dependencies: '@nrwl/nx-plugin': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6)(verdaccio@5.18.0) '@nx/devkit': 16.10.0(nx@16.10.0) @@ -6310,10 +4685,7 @@ packages: dev: true /@nx/react@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(webpack@5.88.2): - resolution: - { - integrity: sha512-WjiXImZWqXDXguHHONO/ANWl3BzqLt6pEvN+uhrRbJGBUWKJz95z8PQfZXeiK6UVY8RFHZXkHtklV3TvTvQ64w==, - } + resolution: {integrity: sha512-WjiXImZWqXDXguHHONO/ANWl3BzqLt6pEvN+uhrRbJGBUWKJz95z8PQfZXeiK6UVY8RFHZXkHtklV3TvTvQ64w==} dependencies: '@nrwl/react': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(webpack@5.88.2) '@nx/devkit': 16.10.0(nx@16.10.0) @@ -6342,10 +4714,7 @@ packages: dev: true /@nx/storybook@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-2Hpc9HTCIOHt4rcWhNSi9Fmd20rs+xHZ7icYTUTg1tx1tY6mKfUoF2gzpK8lG2vELVryCzxe0WWrqfUMcHWPrQ==, - } + resolution: {integrity: sha512-2Hpc9HTCIOHt4rcWhNSi9Fmd20rs+xHZ7icYTUTg1tx1tY6mKfUoF2gzpK8lG2vELVryCzxe0WWrqfUMcHWPrQ==} dependencies: '@nrwl/storybook': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) '@nx/cypress': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) @@ -6371,24 +4740,16 @@ packages: - verdaccio dev: true - /@nx/vite@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(vite@4.4.9)(vitest@0.34.3): - resolution: - { - integrity: sha512-xJ/ME2x/ebMy3qdwrA0IUZAamsCje9wH+Ms5z3PSKzf4Xc4VEEsXHVKr4UZADC4Y9YbG0QnzCQdo+VdKCIGlIQ==, - } - peerDependencies: - vite: ^4.3.4 - vitest: '>=0.31.0 <1.0.0' + /@nx/web@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): + resolution: {integrity: sha512-UMGL7BOPyy6flJLePSG8JhEbfI9W4Y6oVqOziLbQODduU3HGr6woJCI38txnOX4nddbyEnL9tRuKkQ8u0YAYnw==} dependencies: - '@nrwl/vite': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0)(vite@4.4.9)(vitest@0.34.3) + '@nrwl/web': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) '@nx/devkit': 16.10.0(nx@16.10.0) '@nx/js': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) - '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) - '@swc/helpers': 0.5.2 - enquirer: 2.3.6 - tsconfig-paths: 4.1.2 - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vitest: 0.34.3(less@4.1.3)(stylus@0.59.0) + chalk: 4.1.0 + detect-port: 1.5.1 + http-server: 14.1.0 + tslib: 2.6.1 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -6402,40 +4763,11 @@ packages: - verdaccio dev: true - /@nx/web@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-UMGL7BOPyy6flJLePSG8JhEbfI9W4Y6oVqOziLbQODduU3HGr6woJCI38txnOX4nddbyEnL9tRuKkQ8u0YAYnw==, - } + /@nx/webpack@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): + resolution: {integrity: sha512-rKftYWh4kW6A7svMx73Zg3fJFDS3618cKTZsCkuQWeSE+RMQXjcefeCxYhwvHXc/ehoakCIIBx7jDCR+6NIlzQ==} dependencies: - '@nrwl/web': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) - '@nx/devkit': 16.10.0(nx@16.10.0) - '@nx/js': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) - chalk: 4.1.0 - detect-port: 1.5.1 - http-server: 14.1.0 - tslib: 2.6.1 - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - nx - - supports-color - - typescript - - verdaccio - dev: true - - /@nx/webpack@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0): - resolution: - { - integrity: sha512-rKftYWh4kW6A7svMx73Zg3fJFDS3618cKTZsCkuQWeSE+RMQXjcefeCxYhwvHXc/ehoakCIIBx7jDCR+6NIlzQ==, - } - dependencies: - '@babel/core': 7.22.10 - '@nrwl/webpack': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) + '@babel/core': 7.22.10 + '@nrwl/webpack': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) '@nx/devkit': 16.10.0(nx@16.10.0) '@nx/js': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91)(@types/node@18.15.3)(nx@16.10.0)(typescript@5.1.6)(verdaccio@5.18.0) autoprefixer: 10.4.15(postcss@8.4.28) @@ -6499,10 +4831,7 @@ packages: dev: true /@nx/workspace@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91): - resolution: - { - integrity: sha512-95Eq36bzq2hb095Zvg+Ru8o9oIeOE62tNGGpohBkZPKoK2CUTYEq0AZtdj1suXS82ukCFCyyZ/c/fwxL62HRZA==, - } + resolution: {integrity: sha512-95Eq36bzq2hb095Zvg+Ru8o9oIeOE62tNGGpohBkZPKoK2CUTYEq0AZtdj1suXS82ukCFCyyZ/c/fwxL62HRZA==} dependencies: '@nrwl/workspace': 16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91) '@nx/devkit': 16.10.0(nx@16.10.0) @@ -6519,179 +4848,17 @@ packages: - debug dev: true - /@parcel/watcher-android-arm64@2.2.0: - resolution: - { - integrity: sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==, - } - engines: { node: '>= 10.0.0' } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-darwin-arm64@2.2.0: - resolution: - { - integrity: sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==, - } - engines: { node: '>= 10.0.0' } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-darwin-x64@2.2.0: - resolution: - { - integrity: sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==, - } - engines: { node: '>= 10.0.0' } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-linux-arm-glibc@2.2.0: - resolution: - { - integrity: sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==, - } - engines: { node: '>= 10.0.0' } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-linux-arm64-glibc@2.2.0: - resolution: - { - integrity: sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==, - } - engines: { node: '>= 10.0.0' } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-linux-arm64-musl@2.2.0: - resolution: - { - integrity: sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==, - } - engines: { node: '>= 10.0.0' } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-linux-x64-glibc@2.2.0: - resolution: - { - integrity: sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==, - } - engines: { node: '>= 10.0.0' } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-linux-x64-musl@2.2.0: - resolution: - { - integrity: sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==, - } - engines: { node: '>= 10.0.0' } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-wasm@2.3.0-alpha.1: - resolution: - { - integrity: sha512-wo6065l1MQ6SJPPchYw/q8J+pFL40qBXLu4Td2CXeQ/+mUk8NenNqC75P/P1Cyvpam0kfk91iszd+XL+xKDQww==, - } - engines: { node: '>= 10.0.0' } - dependencies: - is-glob: 4.0.3 - micromatch: 4.0.5 - napi-wasm: 1.1.0 - dev: true - - /@parcel/watcher-win32-arm64@2.2.0: - resolution: - { - integrity: sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==, - } - engines: { node: '>= 10.0.0' } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@parcel/watcher-win32-x64@2.2.0: - resolution: - { - integrity: sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==, - } - engines: { node: '>= 10.0.0' } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher@2.0.4: - resolution: - { - integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==} + engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: node-addon-api: 3.2.1 node-gyp-build: 4.6.0 dev: true - /@parcel/watcher@2.2.0: - resolution: - { - integrity: sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==, - } - engines: { node: '>= 10.0.0' } - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.5 - node-addon-api: 7.0.0 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.2.0 - '@parcel/watcher-darwin-arm64': 2.2.0 - '@parcel/watcher-darwin-x64': 2.2.0 - '@parcel/watcher-linux-arm-glibc': 2.2.0 - '@parcel/watcher-linux-arm64-glibc': 2.2.0 - '@parcel/watcher-linux-arm64-musl': 2.2.0 - '@parcel/watcher-linux-x64-glibc': 2.2.0 - '@parcel/watcher-linux-x64-musl': 2.2.0 - '@parcel/watcher-win32-arm64': 2.2.0 - '@parcel/watcher-win32-x64': 2.2.0 - dev: true - /@phenomnomnominal/tsquery@5.0.1(typescript@5.1.6): - resolution: - { - integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==, - } + resolution: {integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==} peerDependencies: typescript: ^3 || ^4 || ^5 dependencies: @@ -6699,234 +4866,9 @@ packages: typescript: 5.1.6 dev: true - /@preact/preset-vite@2.5.0(@babel/core@7.22.10)(preact@10.11.2)(vite@4.4.9): - resolution: - { - integrity: sha512-BUhfB2xQ6ex0yPkrT1Z3LbfPzjpJecOZwQ/xJrXGFSZD84+ObyS//41RdEoQCMWsM0t7UHGaujUxUBub7WM1Jw==, - } - peerDependencies: - '@babel/core': 7.x - vite: 2.x || 3.x || 4.x - dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.22.10) - '@prefresh/vite': 2.2.9(preact@10.11.2)(vite@4.4.9) - '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.22.10) - debug: 4.3.4 - kolorist: 1.5.1 - resolve: 1.22.4 - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - transitivePeerDependencies: - - preact - - supports-color - dev: true - - /@prefresh/babel-plugin@0.4.4: - resolution: - { - integrity: sha512-/EvgIFMDL+nd20WNvMO0JQnzIl1EJPgmSaSYrZUww7A+aSdKsi37aL07TljrZR1cBMuzFxcr4xvqsUQLFJEukw==, - } - dev: true - - /@prefresh/core@1.3.4(preact@10.11.2): - resolution: - { - integrity: sha512-s7iNsnyJ3lZEUrYIgmVIB/hKtp4U6mdD91a31Zg7Q8M49O0x2KThrbrMQYraoDDrs4STdFB8Zv6bceUguOoX1A==, - } - peerDependencies: - preact: ^10.0.0 - dependencies: - preact: 10.11.2 - dev: true - - /@prefresh/utils@1.1.3: - resolution: - { - integrity: sha512-Mb9abhJTOV4yCfkXrMrcgFiFT7MfNOw8sDa+XyZBdq/Ai2p4Zyxqsb3EgHLOEdHpMj6J9aiZ54W8H6FTam1u+A==, - } - dev: true - - /@prefresh/vite@2.2.9(preact@10.11.2)(vite@4.4.9): - resolution: - { - integrity: sha512-1ERBF85Ja9/lkrfaltmo4Gca7R2ClQPSHHDDysFgfvPzHmLUeyB0x9WHwhwov/AA1DnyPhsfYT54z3yQd8XrgA==, - } - peerDependencies: - preact: ^10.4.0 - vite: '>=2.0.0-beta.3' - dependencies: - '@babel/core': 7.22.10 - '@prefresh/babel-plugin': 0.4.4 - '@prefresh/core': 1.3.4(preact@10.11.2) - '@prefresh/utils': 1.1.3 - '@rollup/pluginutils': 4.2.1 - preact: 10.11.2 - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - transitivePeerDependencies: - - supports-color - dev: true - - /@rollup/plugin-alias@5.0.0(rollup@3.28.1): - resolution: - { - integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 3.28.1 - slash: 4.0.0 - dev: true - - /@rollup/plugin-commonjs@25.0.4(rollup@3.28.1): - resolution: - { - integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^2.68.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 8.1.0 - is-reference: 1.2.1 - magic-string: 0.27.0 - rollup: 3.28.1 - dev: true - - /@rollup/plugin-inject@5.0.3(rollup@3.28.1): - resolution: - { - integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - estree-walker: 2.0.2 - magic-string: 0.27.0 - rollup: 3.28.1 - dev: true - - /@rollup/plugin-json@6.0.0(rollup@3.28.1): - resolution: - { - integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - rollup: 3.28.1 - dev: true - - /@rollup/plugin-node-resolve@15.2.1(rollup@3.28.1): - resolution: - { - integrity: sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^2.78.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.4 - rollup: 3.28.1 - dev: true - - /@rollup/plugin-replace@5.0.2(rollup@3.28.1): - resolution: - { - integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - magic-string: 0.27.0 - rollup: 3.28.1 - dev: true - - /@rollup/plugin-terser@0.4.3(rollup@3.28.1): - resolution: - { - integrity: sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^2.x || ^3.x - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 3.28.1 - serialize-javascript: 6.0.1 - smob: 1.4.0 - terser: 5.19.2 - dev: true - - /@rollup/plugin-wasm@6.1.3(rollup@3.28.1): - resolution: - { - integrity: sha512-7ItTTeyauE6lwdDtQWceEHZ9+txbi4RRy0mYPFn9BW7rD7YdgBDu7HTHsLtHrRzJc313RM/1m6GKgV3np/aEaw==, - } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 3.28.1 - dev: true - - /@rollup/pluginutils@4.2.1: - resolution: - { - integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==, - } - engines: { node: '>= 8.0.0' } - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - - /@rollup/pluginutils@5.0.3(rollup@3.28.1): - resolution: - { - integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==, - } - engines: { node: '>=14.0.0' } + /@rollup/pluginutils@5.0.3: + resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} + engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 peerDependenciesMeta: @@ -6936,20 +4878,11 @@ packages: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.28.1 dev: true /@schematics/angular@16.0.0: - resolution: - { - integrity: sha512-Ao1Y0hEDa30JjWDLnUfOsD+9nnfdBFclfKFzR+7pvvFYCpSUhH1u+8e+7noruIxlP26+SpqPn3AF5+IRTGza8w==, - } - engines: - { - node: ^16.14.0 || >=18.10.0, - npm: ^6.11.0 || ^7.5.6 || >=8.0.0, - yarn: '>= 1.13.0', - } + resolution: {integrity: sha512-Ao1Y0hEDa30JjWDLnUfOsD+9nnfdBFclfKFzR+7pvvFYCpSUhH1u+8e+7noruIxlP26+SpqPn3AF5+IRTGza8w==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: '@angular-devkit/core': 16.0.0 '@angular-devkit/schematics': 16.0.0 @@ -6959,53 +4892,29 @@ packages: dev: true /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sindresorhus/is@4.6.0: - resolution: - { - integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} dev: true /@sinonjs/commons@2.0.0: - resolution: - { - integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==, - } + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} dependencies: type-detect: 4.0.8 dev: true /@sinonjs/fake-timers@10.0.2: - resolution: - { - integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==, - } + resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} dependencies: '@sinonjs/commons': 2.0.0 dev: true - /@stencil/core@3.4.0: - resolution: - { - integrity: sha512-kEtPtV6QegME8YgMjWrhS7KktItbhqOpAuK9aXypDdI/7bLU9iM/4DtnQGWY/DARBophk+XRBfNXcE62Bmi0dw==, - } - engines: { node: '>=14.10.0', npm: '>=6.0.0' } - hasBin: true - dev: true - /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7013,11 +4922,8 @@ packages: dev: true /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7025,11 +4931,8 @@ packages: dev: true /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7037,11 +4940,8 @@ packages: dev: true /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7049,11 +4949,8 @@ packages: dev: true /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7061,11 +4958,8 @@ packages: dev: true /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7073,11 +4967,8 @@ packages: dev: true /@svgr/babel-plugin-transform-react-native-svg@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-UKrY3860AQICgH7g+6h2zkoxeVEPLYwX/uAjmqo4PIq2FIHppwhIqZstIyTz0ZtlwreKR41O3W3BzsBBiJV2Aw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-UKrY3860AQICgH7g+6h2zkoxeVEPLYwX/uAjmqo4PIq2FIHppwhIqZstIyTz0ZtlwreKR41O3W3BzsBBiJV2Aw==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7085,11 +4976,8 @@ packages: dev: true /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7097,11 +4985,8 @@ packages: dev: true /@svgr/babel-preset@8.0.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-KLcjiZychInVrhs86OvcYPLTFu9L5XV2vj0XAaE1HwE3J3jLmIzRY8ttdeAg/iFyp8nhavJpafpDZTt+1LIpkQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-KLcjiZychInVrhs86OvcYPLTFu9L5XV2vj0XAaE1HwE3J3jLmIzRY8ttdeAg/iFyp8nhavJpafpDZTt+1LIpkQ==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -7117,11 +5002,8 @@ packages: dev: true /@svgr/core@8.0.0: - resolution: - { - integrity: sha512-aJKtc+Pie/rFYsVH/unSkDaZGvEeylNv/s2cP+ta9/rYWxRVvoV/S4Qw65Kmrtah4CBK5PM6ISH9qUH7IJQCng==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-aJKtc+Pie/rFYsVH/unSkDaZGvEeylNv/s2cP+ta9/rYWxRVvoV/S4Qw65Kmrtah4CBK5PM6ISH9qUH7IJQCng==} + engines: {node: '>=14'} dependencies: '@babel/core': 7.22.10 '@svgr/babel-preset': 8.0.0(@babel/core@7.22.10) @@ -7133,22 +5015,16 @@ packages: dev: true /@svgr/hast-util-to-babel-ast@8.0.0: - resolution: - { - integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} dependencies: '@babel/types': 7.22.10 entities: 4.5.0 dev: true /@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0): - resolution: - { - integrity: sha512-bfCFb+4ZsM3UuKP2t7KmDwn6YV8qVn9HIQJmau6xeQb/iV65Rpi7NBNBWA2hcCd4GKoCqG8hpaaDk5FDR0eH+g==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-bfCFb+4ZsM3UuKP2t7KmDwn6YV8qVn9HIQJmau6xeQb/iV65Rpi7NBNBWA2hcCd4GKoCqG8hpaaDk5FDR0eH+g==} + engines: {node: '>=14'} peerDependencies: '@svgr/core': '*' dependencies: @@ -7162,11 +5038,8 @@ packages: dev: true /@svgr/plugin-svgo@8.0.1(@svgr/core@8.0.0): - resolution: - { - integrity: sha512-29OJ1QmJgnohQHDAgAuY2h21xWD6TZiXji+hnx+W635RiXTAlHTbjrZDktfqzkN0bOeQEtNe+xgq73/XeWFfSg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-29OJ1QmJgnohQHDAgAuY2h21xWD6TZiXji+hnx+W635RiXTAlHTbjrZDktfqzkN0bOeQEtNe+xgq73/XeWFfSg==} + engines: {node: '>=14'} peerDependencies: '@svgr/core': '*' dependencies: @@ -7177,11 +5050,8 @@ packages: dev: true /@svgr/webpack@8.0.1: - resolution: - { - integrity: sha512-zSoeKcbCmfMXjA11uDuCJb+1LWNb3vy6Qw/VHj0Nfcl3UuqwuoZWknHsBIhCWvi4wU9vPui3aq054qjVyZqY4A==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-zSoeKcbCmfMXjA11uDuCJb+1LWNb3vy6Qw/VHj0Nfcl3UuqwuoZWknHsBIhCWvi4wU9vPui3aq054qjVyZqY4A==} + engines: {node: '>=14'} dependencies: '@babel/core': 7.22.10 '@babel/plugin-transform-react-constant-elements': 7.22.3(@babel/core@7.22.10) @@ -7196,11 +5066,8 @@ packages: dev: true /@swc-node/core@1.10.6(@swc/core@1.3.91): - resolution: - { - integrity: sha512-lDIi/rPosmKIknWzvs2/Fi9zWRtbkx8OJ9pQaevhsoGzJSal8Pd315k1W5AIrnknfdAB4HqRN12fk6AhqnrEEw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-lDIi/rPosmKIknWzvs2/Fi9zWRtbkx8OJ9pQaevhsoGzJSal8Pd315k1W5AIrnknfdAB4HqRN12fk6AhqnrEEw==} + engines: {node: '>= 10'} peerDependencies: '@swc/core': '>= 1.3' dependencies: @@ -7208,10 +5075,7 @@ packages: dev: true /@swc-node/register@1.6.8(@swc/core@1.3.91)(typescript@5.1.6): - resolution: - { - integrity: sha512-74ijy7J9CWr1Z88yO+ykXphV29giCrSpANQPQRooE0bObpkTO1g4RzQovIfbIaniBiGDDVsYwDoQ3FIrCE8HcQ==, - } + resolution: {integrity: sha512-74ijy7J9CWr1Z88yO+ykXphV29giCrSpANQPQRooE0bObpkTO1g4RzQovIfbIaniBiGDDVsYwDoQ3FIrCE8HcQ==} peerDependencies: '@swc/core': '>= 1.3' typescript: '>= 4.3' @@ -7229,21 +5093,15 @@ packages: dev: true /@swc-node/sourcemap-support@0.3.0: - resolution: - { - integrity: sha512-gqBJSmJMWomZFxlppaKea7NeAqFrDrrS0RMt24No92M3nJWcyI9YKGEQKl+EyJqZ5gh6w1s0cTklMHMzRwA1NA==, - } + resolution: {integrity: sha512-gqBJSmJMWomZFxlppaKea7NeAqFrDrrS0RMt24No92M3nJWcyI9YKGEQKl+EyJqZ5gh6w1s0cTklMHMzRwA1NA==} dependencies: source-map-support: 0.5.21 tslib: 2.6.1 dev: true /@swc/cli@0.1.62(@swc/core@1.3.91): - resolution: - { - integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==, - } - engines: { node: '>= 12.13' } + resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==} + engines: {node: '>= 12.13'} hasBin: true peerDependencies: '@swc/core': ^1.2.66 @@ -7262,11 +5120,8 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.91: - resolution: - { - integrity: sha512-7kHGiQ1he5khcEeJuHDmLZPM3rRL/ith5OTmV6bOPsoHi46kLeixORW+ts1opC3tC9vu6xbk16xgX0QAJchc1w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-7kHGiQ1he5khcEeJuHDmLZPM3rRL/ith5OTmV6bOPsoHi46kLeixORW+ts1opC3tC9vu6xbk16xgX0QAJchc1w==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -7274,11 +5129,8 @@ packages: optional: true /@swc/core-darwin-x64@1.3.91: - resolution: - { - integrity: sha512-8SpU18FbFpZDVzsHsAwdI1thF/picQGxq9UFxa8W+T9SDnbsqwFJv/6RqKJeJoDV6qFdl2OLjuO0OL7xrp0qnQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8SpU18FbFpZDVzsHsAwdI1thF/picQGxq9UFxa8W+T9SDnbsqwFJv/6RqKJeJoDV6qFdl2OLjuO0OL7xrp0qnQ==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -7286,11 +5138,8 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.91: - resolution: - { - integrity: sha512-fOq4Cy8UbwX1yf0WB0d8hWZaIKCnPtPGguRqdXGLfwvhjZ9SIErT6PnmGTGRbQCNCIkOZWHKyTU0r8t2dN3haQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-fOq4Cy8UbwX1yf0WB0d8hWZaIKCnPtPGguRqdXGLfwvhjZ9SIErT6PnmGTGRbQCNCIkOZWHKyTU0r8t2dN3haQ==} + engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true @@ -7298,11 +5147,8 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.91: - resolution: - { - integrity: sha512-fki4ioRP/Esy4vdp8T34RCV+V9dqkRmOt763pf74pdiyFV2dPLXa5lnw/XvR1RTfPGknrYgjEQLCfZlReTryRw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-fki4ioRP/Esy4vdp8T34RCV+V9dqkRmOt763pf74pdiyFV2dPLXa5lnw/XvR1RTfPGknrYgjEQLCfZlReTryRw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -7310,11 +5156,8 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.91: - resolution: - { - integrity: sha512-XrG+DUUqNtfVLcJ20imby7fpBwQNG5VsEQBzQndSonPyUOa2YkTbBb60YDondfQGDABopuHH8gHN8o2H2/VCnQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-XrG+DUUqNtfVLcJ20imby7fpBwQNG5VsEQBzQndSonPyUOa2YkTbBb60YDondfQGDABopuHH8gHN8o2H2/VCnQ==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -7322,11 +5165,8 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.91: - resolution: - { - integrity: sha512-d11bYhX+YPBr/Frcjc6eVn3C0LuS/9U1Li9EmQ+6s9EpYtYRl2ygSlC8eueLbaiazBnCVYFnc8bU4o0kc5B9sw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-d11bYhX+YPBr/Frcjc6eVn3C0LuS/9U1Li9EmQ+6s9EpYtYRl2ygSlC8eueLbaiazBnCVYFnc8bU4o0kc5B9sw==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -7334,11 +5174,8 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.91: - resolution: - { - integrity: sha512-2SRp5Dke2P4jCQePkDx9trkkTstnRpZJVw5r3jvYdk0zeO6iC4+ZPvvoWXJLigqQv/fZnIiSUfJ6ssOoaEqTzQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-2SRp5Dke2P4jCQePkDx9trkkTstnRpZJVw5r3jvYdk0zeO6iC4+ZPvvoWXJLigqQv/fZnIiSUfJ6ssOoaEqTzQ==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -7346,11 +5183,8 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.91: - resolution: - { - integrity: sha512-l9qKXikOxj42UIjbeZpz9xtBmr736jOMqInNP8mVF2/U+ws5sI8zJjcOFFtfis4ru7vWCXhB1wtltdlJYO2vGA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-l9qKXikOxj42UIjbeZpz9xtBmr736jOMqInNP8mVF2/U+ws5sI8zJjcOFFtfis4ru7vWCXhB1wtltdlJYO2vGA==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -7358,11 +5192,8 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.91: - resolution: - { - integrity: sha512-+s+52O0QVPmzOgjEe/rcb0AK6q/J7EHKwAyJCu/FaYO9df5ovE0HJjSKP6HAF0dGPO5hkENrXuNGujofUH9vtQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+s+52O0QVPmzOgjEe/rcb0AK6q/J7EHKwAyJCu/FaYO9df5ovE0HJjSKP6HAF0dGPO5hkENrXuNGujofUH9vtQ==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -7370,11 +5201,8 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.91: - resolution: - { - integrity: sha512-7u9HDQhjUC3Gv43EFW84dZtduWCSa4MgltK+Sp9zEGti6WXqDPu/ESjvDsQEVYTBEMEvZs/xVAXPgLVHorV5nQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-7u9HDQhjUC3Gv43EFW84dZtduWCSa4MgltK+Sp9zEGti6WXqDPu/ESjvDsQEVYTBEMEvZs/xVAXPgLVHorV5nQ==} + engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true @@ -7382,11 +5210,8 @@ packages: optional: true /@swc/core@1.3.91(@swc/helpers@0.5.2): - resolution: - { - integrity: sha512-r950d0fdlZ8qbSDyvApn3HyCojiZE8xpgJzQvypeMi32dalYwugdJKWyLB55JIGMRGJ8+lmVvY4MPGkSR3kXgA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-r950d0fdlZ8qbSDyvApn3HyCojiZE8xpgJzQvypeMi32dalYwugdJKWyLB55JIGMRGJ8+lmVvY4MPGkSR3kXgA==} + engines: {node: '>=10'} requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -7411,27 +5236,18 @@ packages: dev: true /@swc/counter@0.1.1: - resolution: - { - integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==, - } + resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} dev: true /@swc/helpers@0.5.2: - resolution: - { - integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==, - } + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} dependencies: tslib: 2.6.1 dev: true /@swc/jest@0.2.26(@swc/core@1.3.91): - resolution: - { - integrity: sha512-7lAi7q7ShTO3E5Gt1Xqf3pIhRbERxR1DUxvtVa9WKzIB+HGQ7wZP5sYx86zqnaEoKKGhmOoZ7gyW0IRu8Br5+A==, - } - engines: { npm: '>= 7.0.0' } + resolution: {integrity: sha512-7lAi7q7ShTO3E5Gt1Xqf3pIhRbERxR1DUxvtVa9WKzIB+HGQ7wZP5sYx86zqnaEoKKGhmOoZ7gyW0IRu8Br5+A==} + engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: @@ -7441,86 +5257,53 @@ packages: dev: true /@swc/types@0.1.5: - resolution: - { - integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==, - } + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true /@szmarczak/http-timer@4.0.6: - resolution: - { - integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} dependencies: defer-to-connect: 2.0.1 dev: true /@tokenizer/token@0.3.0: - resolution: - { - integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==, - } + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} dev: true /@tootallnate/once@1.1.2: - resolution: - { - integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} dev: true /@tootallnate/once@2.0.0: - resolution: - { - integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: true /@trysound/sax@0.2.0: - resolution: - { - integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} dev: true /@tsconfig/node10@1.0.8: - resolution: - { - integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==, - } + resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} dev: true /@tsconfig/node12@1.0.9: - resolution: - { - integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==, - } + resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} dev: true /@tsconfig/node14@1.0.1: - resolution: - { - integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==, - } + resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} dev: true /@tsconfig/node16@1.0.2: - resolution: - { - integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==, - } + resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} dev: true /@types/babel__core@7.20.0: - resolution: - { - integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==, - } + resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: '@babel/parser': 7.22.10 '@babel/types': 7.22.10 @@ -7530,57 +5313,39 @@ packages: dev: true /@types/babel__generator@7.6.4: - resolution: - { - integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, - } + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: '@babel/types': 7.22.10 dev: true /@types/babel__template@7.4.1: - resolution: - { - integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, - } + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: '@babel/parser': 7.22.10 '@babel/types': 7.22.10 dev: true /@types/babel__traverse@7.14.2: - resolution: - { - integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==, - } + resolution: {integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==} dependencies: '@babel/types': 7.22.10 dev: true /@types/body-parser@1.19.2: - resolution: - { - integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==, - } + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 '@types/node': 18.15.3 dev: true /@types/bonjour@3.5.10: - resolution: - { - integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==, - } + resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: '@types/node': 18.15.3 dev: true /@types/cacheable-request@6.0.3: - resolution: - { - integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, - } + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 @@ -7588,80 +5353,39 @@ packages: '@types/responselike': 1.0.0 dev: true - /@types/chai-subset@1.3.3: - resolution: - { - integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==, - } - dependencies: - '@types/chai': 4.3.5 - dev: true - - /@types/chai@4.3.5: - resolution: - { - integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==, - } - dev: true - /@types/connect-history-api-fallback@1.3.5: - resolution: - { - integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==, - } + resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: '@types/express-serve-static-core': 4.17.28 '@types/node': 18.15.3 dev: true /@types/connect@3.4.35: - resolution: - { - integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==, - } + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 18.15.3 dev: true /@types/eslint-scope@3.7.3: - resolution: - { - integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==, - } + resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} dependencies: '@types/eslint': 8.4.1 '@types/estree': 1.0.1 dev: true /@types/eslint@8.4.1: - resolution: - { - integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==, - } + resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} dependencies: '@types/estree': 1.0.1 '@types/json-schema': 7.0.9 dev: true - /@types/estree@1.0.0: - resolution: - { - integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==, - } - dev: true - /@types/estree@1.0.1: - resolution: - { - integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==, - } + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} dev: true /@types/express-serve-static-core@4.17.28: - resolution: - { - integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==, - } + resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} dependencies: '@types/node': 18.15.3 '@types/qs': 6.9.7 @@ -7669,10 +5393,7 @@ packages: dev: true /@types/express@4.17.13: - resolution: - { - integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==, - } + resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} dependencies: '@types/body-parser': 1.19.2 '@types/express-serve-static-core': 4.17.28 @@ -7681,96 +5402,63 @@ packages: dev: true /@types/glob@8.1.0: - resolution: - { - integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==, - } + resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 18.15.3 dev: true /@types/globrex@0.1.2: - resolution: - { - integrity: sha512-W+8iW69LnEae5H09PxjpmI3CdJyKUTBAoDyqWx6T5ewhX5unBHYYQsGYXlXQP8l3HE/Y71vswPAvxkJC92FQhQ==, - } + resolution: {integrity: sha512-W+8iW69LnEae5H09PxjpmI3CdJyKUTBAoDyqWx6T5ewhX5unBHYYQsGYXlXQP8l3HE/Y71vswPAvxkJC92FQhQ==} dev: true /@types/graceful-fs@4.1.5: - resolution: - { - integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==, - } + resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: '@types/node': 18.15.3 dev: true /@types/http-cache-semantics@4.0.1: - resolution: - { - integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==, - } + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true /@types/http-proxy@1.17.11: - resolution: - { - integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==, - } + resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: '@types/node': 18.15.3 dev: true /@types/is-ci@3.0.1: - resolution: - { - integrity: sha512-mnb1ngaGQPm6LFZaNdh3xPOoQMkrQb/KBPhPPN2p2Wk8XgeUqWj6xPnvyQ8rvcK/VFritVmQG8tvQuy7g+9/nQ==, - } + resolution: {integrity: sha512-mnb1ngaGQPm6LFZaNdh3xPOoQMkrQb/KBPhPPN2p2Wk8XgeUqWj6xPnvyQ8rvcK/VFritVmQG8tvQuy7g+9/nQ==} dependencies: ci-info: 3.8.0 dev: true /@types/istanbul-lib-coverage@2.0.4: - resolution: - { - integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==, - } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true /@types/istanbul-lib-report@3.0.0: - resolution: - { - integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==, - } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: true /@types/istanbul-reports@3.0.1: - resolution: - { - integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==, - } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: true /@types/jest@29.5.5: - resolution: - { - integrity: sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==, - } + resolution: {integrity: sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==} dependencies: expect: 29.5.0 pretty-format: 29.6.3 dev: true /@types/jsdom@20.0.1: - resolution: - { - integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==, - } + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: '@types/node': 18.15.3 '@types/tough-cookie': 4.0.2 @@ -7778,227 +5466,132 @@ packages: dev: true /@types/json-schema@7.0.9: - resolution: - { - integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==, - } + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: true /@types/keyv@3.1.4: - resolution: - { - integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, - } + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 18.15.3 dev: true /@types/linkify-it@3.0.3: - resolution: - { - integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==, - } + resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} dev: true /@types/markdown-it@13.0.2: - resolution: - { - integrity: sha512-Tla7hH9oeXHOlJyBFdoqV61xWE9FZf/y2g+gFVwQ2vE1/eBzjUno5JCd3Hdb5oATve5OF6xNjZ/4VIZhVVx+hA==, - } + resolution: {integrity: sha512-Tla7hH9oeXHOlJyBFdoqV61xWE9FZf/y2g+gFVwQ2vE1/eBzjUno5JCd3Hdb5oATve5OF6xNjZ/4VIZhVVx+hA==} dependencies: '@types/linkify-it': 3.0.3 '@types/mdurl': 1.0.3 dev: true /@types/mdurl@1.0.3: - resolution: - { - integrity: sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA==, - } + resolution: {integrity: sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA==} dev: true /@types/mime@1.3.2: - resolution: - { - integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==, - } + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true /@types/minimatch@3.0.5: - resolution: - { - integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==, - } + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: true /@types/minimatch@5.1.2: - resolution: - { - integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==, - } + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true /@types/node@18.15.3: - resolution: - { - integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==, - } + resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} dev: true /@types/parse-json@4.0.0: - resolution: - { - integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==, - } + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true /@types/prettier@2.4.4: - resolution: - { - integrity: sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==, - } - dev: true - - /@types/pug@2.0.6: - resolution: - { - integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==, - } + resolution: {integrity: sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==} dev: true /@types/qs@6.9.7: - resolution: - { - integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==, - } + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true /@types/range-parser@1.2.4: - resolution: - { - integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==, - } - dev: true - - /@types/resolve@1.20.2: - resolution: - { - integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==, - } + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true /@types/responselike@1.0.0: - resolution: - { - integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==, - } + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: '@types/node': 18.15.3 dev: true /@types/retry@0.12.1: - resolution: - { - integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==, - } + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} dev: true /@types/semver@7.3.12: - resolution: - { - integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==, - } + resolution: {integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==} dev: true /@types/serve-index@1.9.1: - resolution: - { - integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==, - } + resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: '@types/express': 4.17.13 dev: true /@types/serve-static@1.13.10: - resolution: - { - integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==, - } + resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 '@types/node': 18.15.3 dev: true /@types/sockjs@0.3.33: - resolution: - { - integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==, - } + resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: '@types/node': 18.15.3 dev: true /@types/stack-utils@2.0.1: - resolution: - { - integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==, - } + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true /@types/tough-cookie@4.0.2: - resolution: - { - integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==, - } + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} dev: true /@types/web-bluetooth@0.0.17: - resolution: - { - integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==, - } + resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: true /@types/ws@8.5.5: - resolution: - { - integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==, - } + resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: '@types/node': 18.15.3 dev: true /@types/yargs-parser@21.0.0: - resolution: - { - integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==, - } + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true /@types/yargs@16.0.4: - resolution: - { - integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==, - } + resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} dependencies: '@types/yargs-parser': 21.0.0 dev: true /@types/yargs@17.0.26: - resolution: - { - integrity: sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==, - } + resolution: {integrity: sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==} dependencies: '@types/yargs-parser': 21.0.0 dev: true /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6): - resolution: - { - integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -8025,11 +5618,8 @@ packages: dev: true /@typescript-eslint/parser@5.62.0(eslint@8.46.0)(typescript@5.1.6): - resolution: - { - integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' @@ -8048,22 +5638,16 @@ packages: dev: true /@typescript-eslint/scope-manager@5.62.0: - resolution: - { - integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 dev: true /@typescript-eslint/type-utils@5.62.0(eslint@8.46.0)(typescript@5.1.6): - resolution: - { - integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' typescript: '*' @@ -8082,19 +5666,13 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { - integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): - resolution: - { - integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -8114,11 +5692,8 @@ packages: dev: true /@typescript-eslint/utils@5.62.0(eslint@8.46.0)(typescript@5.1.6): - resolution: - { - integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -8137,121 +5712,31 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { - integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: true - /@unhead/dom@1.3.5: - resolution: - { - integrity: sha512-WwwiJ85VugfvCgydizuOXlGGbVUY+JLOB1Ls7gEqJO2WIMGSKYA+5ILn17UmCUXGBVWpLdELbedjkTmxIdXPJw==, - } - dependencies: - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 - dev: true - - /@unhead/schema@1.3.5: - resolution: - { - integrity: sha512-K1ubX/0pFGhjhiPRBemWl94ca6fyZYAQP5DUSwyW+VMqjWqzlE5rdjtUU0vsmHQOaFRFUCpTX4w4dtHdv3ut+Q==, - } - dependencies: - hookable: 5.5.3 - zhead: 2.0.10 - dev: true - - /@unhead/shared@1.3.5: - resolution: - { - integrity: sha512-r5diAXP9qxhZz3Nvxjk69dkhsdduvW+cPnOdzPWhpbCk1lHugGz+if09AX+M7NoAlLJQBmqFiFkTZS/JrtTZhg==, - } - dependencies: - '@unhead/schema': 1.3.5 - dev: true - - /@unhead/ssr@1.3.5: - resolution: - { - integrity: sha512-5akS3enT8kZxxaL8PPJh7uK/vCfJ8SI7A6JO8RvF9SOUfv3pwqvw5GboKiAgzEbIf1oDzka/vDGaLD8TvtJSCw==, - } - dependencies: - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 - dev: true - - /@unhead/vue@1.3.5(vue@3.3.4): - resolution: - { - integrity: sha512-9i5dvtk27BFqNrrTLv1A9hHfbAaKDn6NuzMI8945Js41A/uEs0kVAmvdtVMCL9s3dy6jWqme/Th4JUzVS5tl+g==, - } - peerDependencies: - vue: '>=2.7 || >=3' - dependencies: - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 - hookable: 5.5.3 - unhead: 1.3.5 - vue: 3.3.4 - dev: true - - /@vercel/nft@0.22.6: - resolution: - { - integrity: sha512-gTsFnnT4mGxodr4AUlW3/urY+8JKKB452LwF3m477RFUJTAaDmcz2JqFuInzvdybYIeyIv1sSONEJxsxnbQ5JQ==, - } - engines: { node: '>=14' } - hasBin: true - dependencies: - '@mapbox/node-pre-gyp': 1.0.11 - '@rollup/pluginutils': 4.2.1 - acorn: 8.10.0 - async-sema: 3.1.1 - bindings: 1.5.0 - estree-walker: 2.0.2 - glob: 7.2.3 - graceful-fs: 4.2.9 - micromatch: 4.0.5 - node-gyp-build: 4.6.0 - resolve-from: 5.0.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@verdaccio/commons-api@10.2.0: - resolution: - { - integrity: sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ==} + engines: {node: '>=8'} dependencies: http-errors: 2.0.0 http-status-codes: 2.2.0 dev: true /@verdaccio/file-locking@10.3.0: - resolution: - { - integrity: sha512-FE5D5H4wy/nhgR/d2J5e1Na9kScj2wMjlLPBHz7XF4XZAVSRdm45+kL3ZmrfA6b2HTADP/uH7H05/cnAYW8bhw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-FE5D5H4wy/nhgR/d2J5e1Na9kScj2wMjlLPBHz7XF4XZAVSRdm45+kL3ZmrfA6b2HTADP/uH7H05/cnAYW8bhw==} + engines: {node: '>=8'} dependencies: lockfile: 1.0.4 dev: true /@verdaccio/local-storage@10.3.1: - resolution: - { - integrity: sha512-f3oArjXPOAwUAA2dsBhfL/rSouqJ2sfml8k97RtnBPKOzisb28bgyAQW0mqwQvN4MTK5S/2xudmobFpvJAIatg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-f3oArjXPOAwUAA2dsBhfL/rSouqJ2sfml8k97RtnBPKOzisb28bgyAQW0mqwQvN4MTK5S/2xudmobFpvJAIatg==} + engines: {node: '>=8'} dependencies: '@verdaccio/commons-api': 10.2.0 '@verdaccio/file-locking': 10.3.0 @@ -8266,175 +5751,25 @@ packages: dev: true /@verdaccio/streams@10.2.0: - resolution: - { - integrity: sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA==, - } - engines: { node: '>=8', npm: '>=5' } + resolution: {integrity: sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA==} + engines: {node: '>=8', npm: '>=5'} dev: true /@verdaccio/ui-theme@6.0.0-6-next.51: - resolution: - { - integrity: sha512-koDx4VeTXdAz51XAjrNc3cQO/LeyNl3aQHmYGviozMVPly/nXj2XXqVdPfPZZDMtbmtMRJ+ychCkhqrJPN3Vng==, - } + resolution: {integrity: sha512-koDx4VeTXdAz51XAjrNc3cQO/LeyNl3aQHmYGviozMVPly/nXj2XXqVdPfPZZDMtbmtMRJ+ychCkhqrJPN3Vng==} dev: true /@vitejs/plugin-basic-ssl@1.0.1(vite@4.4.7): - resolution: - { - integrity: sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==, - } - engines: { node: '>=14.6.0' } + resolution: {integrity: sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==} + engines: {node: '>=14.6.0'} peerDependencies: vite: ^3.0.0 || ^4.0.0 dependencies: vite: 4.4.7(@types/node@18.15.3)(less@4.1.3)(sass@1.64.1)(stylus@0.59.0)(terser@5.19.2) dev: true - /@vitejs/plugin-vue-jsx@3.0.2(vite@4.3.9)(vue@3.3.4): - resolution: - { - integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - vite: ^4.0.0 - vue: ^3.0.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.3.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vue: 3.3.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@vitejs/plugin-vue@4.2.3(vite@4.3.9)(vue@3.3.4): - resolution: - { - integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - vite: ^4.0.0 - vue: ^3.2.25 - dependencies: - vite: 4.3.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vue: 3.3.4 - dev: true - - /@vitest/expect@0.34.3: - resolution: - { - integrity: sha512-F8MTXZUYRBVsYL1uoIft1HHWhwDbSzwAU9Zgh8S6WFC3YgVb4AnFV2GXO3P5Em8FjEYaZtTnQYoNwwBrlOMXgg==, - } - dependencies: - '@vitest/spy': 0.34.3 - '@vitest/utils': 0.34.3 - chai: 4.3.8 - dev: true - - /@vitest/runner@0.34.3: - resolution: - { - integrity: sha512-lYNq7N3vR57VMKMPLVvmJoiN4bqwzZ1euTW+XXYH5kzr3W/+xQG3b41xJn9ChJ3AhYOSoweu974S1V3qDcFESA==, - } - dependencies: - '@vitest/utils': 0.34.3 - p-limit: 4.0.0 - pathe: 1.1.1 - dev: true - - /@vitest/snapshot@0.34.3: - resolution: - { - integrity: sha512-QyPaE15DQwbnIBp/yNJ8lbvXTZxS00kRly0kfFgAD5EYmCbYcA+1EEyRalc93M0gosL/xHeg3lKAClIXYpmUiQ==, - } - dependencies: - magic-string: 0.30.3 - pathe: 1.1.1 - pretty-format: 29.6.3 - dev: true - - /@vitest/spy@0.34.3: - resolution: - { - integrity: sha512-N1V0RFQ6AI7CPgzBq9kzjRdPIgThC340DGjdKdPSE8r86aUSmeliTUgkTqLSgtEwWWsGfBQ+UetZWhK0BgJmkQ==, - } - dependencies: - tinyspy: 2.1.1 - dev: true - - /@vitest/utils@0.34.3: - resolution: - { - integrity: sha512-kiSnzLG6m/tiT0XEl4U2H8JDBjFtwVlaE8I3QfGiMFR0QvnRDfYfdP3YvTBWM/6iJDAyaPY6yVQiCTUc7ZzTHA==, - } - dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.3 - dev: true - - /@vue-macros/common@1.7.1(vue@3.3.4): - resolution: - { - integrity: sha512-4o0x5DMhTFRfcpmigYyxXVraCqJXexc2IjJsmmIIlsAGkQf2tYQYRUfmyq6Q5jgiT7G4Q5gbrNZ6B8ARJbvOFg==, - } - engines: { node: '>=16.14.0' } - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true - dependencies: - '@babel/types': 7.22.10 - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - '@vue/compiler-sfc': 3.3.4 - ast-kit: 0.10.0 - local-pkg: 0.4.3 - magic-string-ast: 0.3.0 - vue: 3.3.4 - transitivePeerDependencies: - - rollup - dev: true - - /@vue/babel-helper-vue-transform-on@1.1.5: - resolution: - { - integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==, - } - dev: true - - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==, - } - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - '@vue/babel-helper-vue-transform-on': 1.1.5 - camelcase: 6.3.0 - html-tags: 3.3.1 - svg-tags: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@vue/compiler-core@3.3.4: - resolution: - { - integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==, - } + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: '@babel/parser': 7.22.10 '@vue/shared': 3.3.4 @@ -8443,20 +5778,14 @@ packages: dev: true /@vue/compiler-dom@3.3.4: - resolution: - { - integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==, - } + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} dependencies: '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 dev: true /@vue/compiler-sfc@3.3.4: - resolution: - { - integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==, - } + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: '@babel/parser': 7.22.10 '@vue/compiler-core': 3.3.4 @@ -8471,27 +5800,18 @@ packages: dev: true /@vue/compiler-ssr@3.3.4: - resolution: - { - integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==, - } + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} dependencies: '@vue/compiler-dom': 3.3.4 '@vue/shared': 3.3.4 dev: true /@vue/devtools-api@6.5.0: - resolution: - { - integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==, - } + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: true /@vue/reactivity-transform@3.3.4: - resolution: - { - integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==, - } + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} dependencies: '@babel/parser': 7.22.10 '@vue/compiler-core': 3.3.4 @@ -8501,29 +5821,20 @@ packages: dev: true /@vue/reactivity@3.3.4: - resolution: - { - integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==, - } + resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} dependencies: '@vue/shared': 3.3.4 dev: true /@vue/runtime-core@3.3.4: - resolution: - { - integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==, - } + resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} dependencies: '@vue/reactivity': 3.3.4 '@vue/shared': 3.3.4 dev: true /@vue/runtime-dom@3.3.4: - resolution: - { - integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==, - } + resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} dependencies: '@vue/runtime-core': 3.3.4 '@vue/shared': 3.3.4 @@ -8531,10 +5842,7 @@ packages: dev: true /@vue/server-renderer@3.3.4(vue@3.3.4): - resolution: - { - integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==, - } + resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} peerDependencies: vue: 3.3.4 dependencies: @@ -8544,17 +5852,11 @@ packages: dev: true /@vue/shared@3.3.4: - resolution: - { - integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==, - } + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} dev: true /@vueuse/core@10.4.1(vue@3.3.4): - resolution: - { - integrity: sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg==, - } + resolution: {integrity: sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg==} dependencies: '@types/web-bluetooth': 0.0.17 '@vueuse/metadata': 10.4.1 @@ -8566,10 +5868,7 @@ packages: dev: true /@vueuse/integrations@10.4.1(focus-trap@7.5.2)(vue@3.3.4): - resolution: - { - integrity: sha512-uRBPyG5Lxoh1A/J+boiioPT3ELEAPEo4t8W6Mr4yTKIQBeW/FcbsotZNPr4k9uz+3QEksMmflWloS9wCnypM7g==, - } + resolution: {integrity: sha512-uRBPyG5Lxoh1A/J+boiioPT3ELEAPEo4t8W6Mr4yTKIQBeW/FcbsotZNPr4k9uz+3QEksMmflWloS9wCnypM7g==} peerDependencies: async-validator: '*' axios: '*' @@ -8619,17 +5918,11 @@ packages: dev: true /@vueuse/metadata@10.4.1: - resolution: - { - integrity: sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==, - } + resolution: {integrity: sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==} dev: true /@vueuse/shared@10.4.1(vue@3.3.4): - resolution: - { - integrity: sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg==, - } + resolution: {integrity: sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg==} dependencies: vue-demi: 0.14.5(vue@3.3.4) transitivePeerDependencies: @@ -8638,41 +5931,26 @@ packages: dev: true /@webassemblyjs/ast@1.11.5: - resolution: - { - integrity: sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==, - } + resolution: {integrity: sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==} dependencies: '@webassemblyjs/helper-numbers': 1.11.5 '@webassemblyjs/helper-wasm-bytecode': 1.11.5 dev: true /@webassemblyjs/floating-point-hex-parser@1.11.5: - resolution: - { - integrity: sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==, - } + resolution: {integrity: sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==} dev: true /@webassemblyjs/helper-api-error@1.11.5: - resolution: - { - integrity: sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==, - } + resolution: {integrity: sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==} dev: true /@webassemblyjs/helper-buffer@1.11.5: - resolution: - { - integrity: sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==, - } + resolution: {integrity: sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==} dev: true /@webassemblyjs/helper-numbers@1.11.5: - resolution: - { - integrity: sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==, - } + resolution: {integrity: sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==} dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.5 '@webassemblyjs/helper-api-error': 1.11.5 @@ -8680,17 +5958,11 @@ packages: dev: true /@webassemblyjs/helper-wasm-bytecode@1.11.5: - resolution: - { - integrity: sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==, - } + resolution: {integrity: sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==} dev: true /@webassemblyjs/helper-wasm-section@1.11.5: - resolution: - { - integrity: sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==, - } + resolution: {integrity: sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==} dependencies: '@webassemblyjs/ast': 1.11.5 '@webassemblyjs/helper-buffer': 1.11.5 @@ -8699,35 +5971,23 @@ packages: dev: true /@webassemblyjs/ieee754@1.11.5: - resolution: - { - integrity: sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==, - } + resolution: {integrity: sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true /@webassemblyjs/leb128@1.11.5: - resolution: - { - integrity: sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==, - } + resolution: {integrity: sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==} dependencies: '@xtuc/long': 4.2.2 dev: true /@webassemblyjs/utf8@1.11.5: - resolution: - { - integrity: sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==, - } + resolution: {integrity: sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==} dev: true /@webassemblyjs/wasm-edit@1.11.5: - resolution: - { - integrity: sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==, - } + resolution: {integrity: sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==} dependencies: '@webassemblyjs/ast': 1.11.5 '@webassemblyjs/helper-buffer': 1.11.5 @@ -8740,10 +6000,7 @@ packages: dev: true /@webassemblyjs/wasm-gen@1.11.5: - resolution: - { - integrity: sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==, - } + resolution: {integrity: sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==} dependencies: '@webassemblyjs/ast': 1.11.5 '@webassemblyjs/helper-wasm-bytecode': 1.11.5 @@ -8753,10 +6010,7 @@ packages: dev: true /@webassemblyjs/wasm-opt@1.11.5: - resolution: - { - integrity: sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==, - } + resolution: {integrity: sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==} dependencies: '@webassemblyjs/ast': 1.11.5 '@webassemblyjs/helper-buffer': 1.11.5 @@ -8765,10 +6019,7 @@ packages: dev: true /@webassemblyjs/wasm-parser@1.11.5: - resolution: - { - integrity: sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==, - } + resolution: {integrity: sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==} dependencies: '@webassemblyjs/ast': 1.11.5 '@webassemblyjs/helper-api-error': 1.11.5 @@ -8779,21 +6030,15 @@ packages: dev: true /@webassemblyjs/wast-printer@1.11.5: - resolution: - { - integrity: sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==, - } + resolution: {integrity: sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==} dependencies: '@webassemblyjs/ast': 1.11.5 '@xtuc/long': 4.2.2 dev: true /@wessberg/ts-evaluator@0.0.27(typescript@5.1.6): - resolution: - { - integrity: sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==, - } - engines: { node: '>=10.1.0' } + resolution: {integrity: sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==} + engines: {node: '>=10.1.0'} deprecated: this package has been renamed to ts-evaluator. Please install ts-evaluator instead peerDependencies: typescript: '>=3.2.x || >= 4.x' @@ -8811,52 +6056,34 @@ packages: dev: true /@xtuc/ieee754@1.2.0: - resolution: - { - integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, - } + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true /@xtuc/long@4.2.2: - resolution: - { - integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==, - } + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true /@yarnpkg/lockfile@1.1.0: - resolution: - { - integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, - } + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true /@yarnpkg/parsers@3.0.0-rc.46: - resolution: - { - integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, - } - engines: { node: '>=14.15.0' } + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} dependencies: js-yaml: 3.14.1 tslib: 2.6.1 dev: true /@zkochan/js-yaml@0.0.6: - resolution: - { - integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, - } + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} hasBin: true dependencies: argparse: 2.0.1 dev: true /JSONStream@1.3.5: - resolution: - { - integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==, - } + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true dependencies: jsonparse: 1.3.1 @@ -8864,55 +6091,33 @@ packages: dev: true /abab@2.0.6: - resolution: - { - integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==, - } - dev: true - - /abbrev@1.1.1: - resolution: - { - integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, - } + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true /accepts@1.3.8: - resolution: - { - integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.34 negotiator: 0.6.3 dev: true /acorn-globals@6.0.0: - resolution: - { - integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==, - } + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 dev: true /acorn-globals@7.0.1: - resolution: - { - integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==, - } + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: acorn: 8.10.0 acorn-walk: 8.2.0 dev: true /acorn-import-assertions@1.9.0(acorn@8.10.0): - resolution: - { - integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==, - } + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: @@ -8920,10 +6125,7 @@ packages: dev: true /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -8931,64 +6133,43 @@ packages: dev: true /acorn-walk@7.2.0: - resolution: - { - integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} dev: true /acorn-walk@8.2.0: - resolution: - { - integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} dev: true /acorn@7.4.1: - resolution: - { - integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /acorn@8.10.0: - resolution: - { - integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /address@1.2.2: - resolution: - { - integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} dev: true /adjust-sourcemap-loader@4.0.0: - resolution: - { - integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==, - } - engines: { node: '>=8.9' } + resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} + engines: {node: '>=8.9'} dependencies: loader-utils: 2.0.4 regex-parser: 2.2.11 dev: true /agent-base@6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4 transitivePeerDependencies: @@ -8996,21 +6177,15 @@ packages: dev: true /aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 dev: true /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -9021,10 +6196,7 @@ packages: dev: true /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: - { - integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==, - } + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 dependencies: @@ -9032,10 +6204,7 @@ packages: dev: true /ajv-keywords@5.1.0(ajv@8.12.0): - resolution: - { - integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==, - } + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 dependencies: @@ -9044,10 +6213,7 @@ packages: dev: true /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -9056,10 +6222,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -9068,10 +6231,7 @@ packages: dev: true /algoliasearch@4.19.1: - resolution: - { - integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==, - } + resolution: {integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==} dependencies: '@algolia/cache-browser-local-storage': 4.19.1 '@algolia/cache-common': 4.19.1 @@ -9090,11 +6250,8 @@ packages: dev: true /all-contributors-cli@6.26.1: - resolution: - { - integrity: sha512-Ymgo3FJACRBEd1eE653FD1J/+uD0kqpUNYfr9zNC1Qby0LgbhDBzB3EF6uvkAbYpycStkk41J+0oo37Lc02yEw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ymgo3FJACRBEd1eE653FD1J/+uD0kqpUNYfr9zNC1Qby0LgbhDBzB3EF6uvkAbYpycStkk41J+0oo37Lc02yEw==} + engines: {node: '>=4'} hasBin: true dependencies: '@babel/runtime': 7.22.6 @@ -9114,357 +6271,163 @@ packages: dev: true /ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} dev: true /ansi-escapes@4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 dev: true /ansi-html-community@0.0.8: - resolution: - { - integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==, - } - engines: { '0': node >= 0.8.0 } + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} hasBin: true dev: true /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} dev: true /ansi-regex@6.0.1: - resolution: - { - integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} dev: true /ansi-sequence-parser@1.1.0: - resolution: - { - integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==, - } + resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} dev: true /ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: true /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} dev: true /ansi-styles@6.1.0: - resolution: - { - integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} + engines: {node: '>=12'} dev: true /anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /apache-md5@1.1.8: - resolution: - { - integrity: sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==, - } - engines: { node: '>=8' } - dev: true - - /aproba@2.0.0: - resolution: - { - integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==, - } + resolution: {integrity: sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==} + engines: {node: '>=8'} dev: true /arch@2.2.0: - resolution: - { - integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, - } - dev: true - - /archiver-utils@2.1.0: - resolution: - { - integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==, - } - engines: { node: '>= 6' } - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.9 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 2.3.8 - dev: true - - /archiver@5.3.2: - resolution: - { - integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==, - } - engines: { node: '>= 10' } - dependencies: - archiver-utils: 2.1.0 - async: 3.2.4 - buffer-crc32: 0.2.13 - readable-stream: 3.6.0 - readdir-glob: 1.1.3 - tar-stream: 2.2.0 - zip-stream: 4.1.0 - dev: true - - /are-we-there-yet@2.0.0: - resolution: - { - integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==, - } - engines: { node: '>=10' } - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.0 + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} dev: true /arg@4.1.3: - resolution: - { - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, - } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /aria-query@5.3.0: - resolution: - { - integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==, - } - dependencies: - dequal: 2.0.3 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true /array-differ@3.0.0: - resolution: - { - integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} + engines: {node: '>=8'} dev: true /array-flatten@1.1.1: - resolution: - { - integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, - } + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true /array-flatten@2.1.2: - resolution: - { - integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==, - } + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} dev: true /array-union@2.1.0: - resolution: - { - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} dev: true /array-union@3.0.1: - resolution: - { - integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} + engines: {node: '>=12'} dev: true /arrify@2.0.1: - resolution: - { - integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} dev: true /asn1@0.2.6: - resolution: - { - integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==, - } + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} dependencies: safer-buffer: 2.1.2 dev: true /assert-plus@1.0.0: - resolution: - { - integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==, - } - engines: { node: '>=0.8' } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /ast-kit@0.10.0: - resolution: - { - integrity: sha512-8y01XClpURgvxTJmM4AY2oHa1B/6iysALB9yJM1j4ak3Z2ZsnU0ewjDZzqOHdbNdit6hC0DGZNrBqNuCrv51fQ==, - } - engines: { node: '>=16.14.0' } - dependencies: - '@babel/parser': 7.22.10 - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - pathe: 1.1.1 - transitivePeerDependencies: - - rollup - dev: true - - /ast-walker-scope@0.4.2: - resolution: - { - integrity: sha512-vdCU9JvpsrxWxvJiRHAr8If8cu07LWJXDPhkqLiP4ErbN1fu/mK623QGmU4Qbn2Nq4Mx0vR/Q017B6+HcHg1aQ==, - } - engines: { node: '>=16.14.0' } - dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} dev: true /astral-regex@2.0.0: - resolution: - { - integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, - } - engines: { node: '>=8' } - dev: true - - /async-sema@3.1.1: - resolution: - { - integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==, - } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} dev: true /async@2.6.4: - resolution: - { - integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==, - } + resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} dependencies: lodash: 4.17.21 dev: true /async@3.2.4: - resolution: - { - integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==, - } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: true /asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true /at-least-node@1.0.0: - resolution: - { - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} dev: true /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} dev: true /autoprefixer@10.4.14(postcss@8.4.27): - resolution: - { - integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 @@ -9479,11 +6442,8 @@ packages: dev: true /autoprefixer@10.4.15(postcss@8.4.28): - resolution: - { - integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} + engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 @@ -9498,24 +6458,15 @@ packages: dev: true /aws-sign2@0.7.0: - resolution: - { - integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==, - } + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true /aws4@1.11.0: - resolution: - { - integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==, - } + resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true /axios@1.1.3: - resolution: - { - integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==, - } + resolution: {integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 @@ -9524,21 +6475,9 @@ packages: - debug dev: true - /axobject-query@3.2.1: - resolution: - { - integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==, - } - dependencies: - dequal: 2.0.3 - dev: true - /babel-jest@29.5.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: @@ -9555,11 +6494,8 @@ packages: dev: true /babel-loader@9.1.3(@babel/core@7.22.10)(webpack@5.88.2): - resolution: - { - integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' @@ -9571,11 +6507,8 @@ packages: dev: true /babel-loader@9.1.3(@babel/core@7.22.9)(webpack@5.88.2): - resolution: - { - integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' @@ -9587,10 +6520,7 @@ packages: dev: true /babel-plugin-const-enum@1.2.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==, - } + resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -9603,11 +6533,8 @@ packages: dev: true /babel-plugin-istanbul@6.1.1: - resolution: - { - integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} dependencies: '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 @@ -9619,11 +6546,8 @@ packages: dev: true /babel-plugin-jest-hoist@29.5.0: - resolution: - { - integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.22.5 '@babel/types': 7.22.10 @@ -9631,27 +6555,8 @@ packages: '@types/babel__traverse': 7.14.2 dev: true - /babel-plugin-jsx-dom-expressions@0.36.10(@babel/core@7.22.10): - resolution: - { - integrity: sha512-QA2k/14WGw+RgcGGnEuLWwnu4em6CGhjeXtjvgOYyFHYS2a+CzPeaVQHDOlfuiBcjq/3hWMspHMIMnPEOIzdBg==, - } - peerDependencies: - '@babel/core': ^7.20.12 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 - html-entities: 2.3.3 - validate-html-nesting: 1.2.2 - dev: true - /babel-plugin-macros@2.8.0: - resolution: - { - integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==, - } + resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: '@babel/runtime': 7.22.6 cosmiconfig: 6.0.0 @@ -9659,10 +6564,7 @@ packages: dev: true /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.10): - resolution: - { - integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==, - } + resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -9675,10 +6577,7 @@ packages: dev: true /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.9): - resolution: - { - integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==, - } + resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -9691,10 +6590,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.10): - resolution: - { - integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==, - } + resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -9706,10 +6602,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.9): - resolution: - { - integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==, - } + resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -9721,10 +6614,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.10): - resolution: - { - integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==, - } + resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -9735,10 +6625,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.9): - resolution: - { - integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==, - } + resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -9748,22 +6635,8 @@ packages: - supports-color dev: true - /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.22.10): - resolution: - { - integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==, - } - peerDependencies: - '@babel/core': ^7.12.10 - dependencies: - '@babel/core': 7.22.10 - dev: true - /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.22.10): - resolution: - { - integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==, - } + resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} peerDependencies: '@babel/core': ^7 '@babel/traverse': ^7 @@ -9776,10 +6649,7 @@ packages: dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.10): - resolution: - { - integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, - } + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -9799,11 +6669,8 @@ packages: dev: true /babel-preset-jest@29.5.0(@babel/core@7.22.10): - resolution: - { - integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -9812,83 +6679,50 @@ packages: babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) dev: true - /babel-preset-solid@1.7.4(@babel/core@7.22.10): - resolution: - { - integrity: sha512-0mbHNYkbOVYhH6L95VlHVkBEVQjOXSzUqLDiFxUcsg/tU4yTM/qx7FI8C+kmos9LHckQBSm3wtwoe1BZLNJR1w==, - } - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.10 - babel-plugin-jsx-dom-expressions: 0.36.10(@babel/core@7.22.10) - dev: true - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true /basic-auth@2.0.1: - resolution: - { - integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} dependencies: safe-buffer: 5.1.2 dev: true /batch@0.6.1: - resolution: { integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= } + resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=} dev: true /bcrypt-pbkdf@1.0.2: - resolution: - { - integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==, - } + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} dependencies: tweetnacl: 0.14.5 dev: true /bcryptjs@2.4.3: - resolution: { integrity: sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= } + resolution: {integrity: sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=} dev: true /big.js@5.2.2: - resolution: - { - integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==, - } + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true /bin-check@4.1.0: - resolution: - { - integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} + engines: {node: '>=4'} dependencies: execa: 0.7.0 executable: 4.1.1 dev: true /bin-version-check@5.0.0: - resolution: - { - integrity: sha512-Q3FMQnS5eZmrBGqmDXLs4dbAn/f+52voP6ykJYmweSA60t6DyH4UTSwZhtbK5UH+LBoWvDljILUQMLRUtsynsA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Q3FMQnS5eZmrBGqmDXLs4dbAn/f+52voP6ykJYmweSA60t6DyH4UTSwZhtbK5UH+LBoWvDljILUQMLRUtsynsA==} + engines: {node: '>=12'} dependencies: bin-version: 6.0.0 semver: 7.5.4 @@ -9896,38 +6730,20 @@ packages: dev: true /bin-version@6.0.0: - resolution: - { - integrity: sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==} + engines: {node: '>=12'} dependencies: execa: 5.1.1 find-versions: 5.1.0 dev: true /binary-extensions@2.2.0: - resolution: - { - integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, - } - engines: { node: '>=8' } - dev: true - - /bindings@1.5.0: - resolution: - { - integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==, - } - dependencies: - file-uri-to-path: 1.0.0 + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -9935,11 +6751,8 @@ packages: dev: true /body-parser@1.20.1: - resolution: - { - integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.4 @@ -9958,10 +6771,7 @@ packages: dev: true /bonjour-service@1.0.13: - resolution: - { - integrity: sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==, - } + resolution: {integrity: sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==} dependencies: array-flatten: 2.1.2 dns-equal: 1.0.0 @@ -9970,54 +6780,36 @@ packages: dev: true /boolbase@1.0.0: - resolution: - { - integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, - } + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 dev: true /braces@3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: true /browser-process-hrtime@1.0.0: - resolution: - { - integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==, - } + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true /browserslist@4.21.10: - resolution: - { - integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001522 @@ -10027,108 +6819,56 @@ packages: dev: true /bs-logger@0.2.6: - resolution: - { - integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} dependencies: fast-json-stable-stringify: 2.1.0 dev: true /bser@2.1.1: - resolution: - { - integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, - } + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 dev: true - /buffer-crc32@0.2.13: - resolution: - { - integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, - } - dev: true - /buffer-equal-constant-time@1.0.1: - resolution: { integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= } + resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} dev: true /buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true /builtin-modules@1.1.1: - resolution: - { - integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==, - } - engines: { node: '>=0.10.0' } - dev: true - - /builtin-modules@3.3.0: - resolution: - { - integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} + engines: {node: '>=0.10.0'} dev: true /builtins@5.0.1: - resolution: - { - integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==, - } + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.5.4 dev: true - /busboy@1.6.0: - resolution: - { - integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, - } - engines: { node: '>=10.16.0' } - dependencies: - streamsearch: 1.1.0 - dev: true - /bytes@3.0.0: - resolution: - { - integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} dev: true /bytes@3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} dev: true /c12@1.4.2: - resolution: - { - integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==, - } + resolution: {integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==} dependencies: chokidar: 3.5.3 defu: 6.1.2 @@ -10145,28 +6885,14 @@ packages: - supports-color dev: true - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: '>=8' } - dev: true - /cacheable-lookup@5.0.4: - resolution: - { - integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==, - } - engines: { node: '>=10.6.0' } + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} dev: true /cacheable-request@7.0.2: - resolution: - { - integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} + engines: {node: '>=8'} dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -10178,52 +6904,34 @@ packages: dev: true /cachedir@2.3.0: - resolution: - { - integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + engines: {node: '>=6'} dev: true /call-bind@1.0.2: - resolution: - { - integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, - } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.1 dev: true /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} dev: true /camelcase@5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { - integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: true /caniuse-api@3.0.0: - resolution: - { - integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==, - } + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.21.10 caniuse-lite: 1.0.30001522 @@ -10232,41 +6940,16 @@ packages: dev: true /caniuse-lite@1.0.30001522: - resolution: - { - integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==, - } + resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==} dev: true /caseless@0.12.0: - resolution: - { - integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==, - } - dev: true - - /chai@4.3.8: - resolution: - { - integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==, - } - engines: { node: '>=4' } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 - pathval: 1.1.1 - type-detect: 4.0.8 + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true /chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 @@ -10274,82 +6957,46 @@ packages: dev: true /chalk@3.0.0: - resolution: - { - integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /chalk@4.1.0: - resolution: - { - integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /chalk@5.2.0: - resolution: - { - integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } - dev: true - - /chalk@5.3.0: - resolution: - { - integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true /char-regex@1.0.2: - resolution: - { - integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} dev: true /chardet@0.7.0: - resolution: - { - integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, - } - dev: true - - /check-error@1.0.2: - resolution: - { - integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==, - } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true /chokidar@3.5.3: - resolution: - { - integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, - } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -10363,136 +7010,72 @@ packages: dev: true /chownr@2.0.0: - resolution: - { - integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} dev: true /chrome-trace-event@1.0.3: - resolution: - { - integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} dev: true /ci-info@3.8.0: - resolution: - { - integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==, - } - engines: { node: '>=8' } - dev: true - - /citty@0.1.2: - resolution: - { - integrity: sha512-Me9nf0/BEmMOnuQzMOVXgpzkMUNbd0Am8lTl/13p0aRGAoLGk5T5sdet/42CrIGmWdG67BgHUhcKK1my1ujUEg==, - } - dependencies: - consola: 3.2.3 + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /cjs-module-lexer@1.2.2: - resolution: - { - integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==, - } + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true /clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: '>=6' } - dev: true - - /clear@0.1.0: - resolution: - { - integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==, - } + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} dev: true /cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-spinners@2.6.1: - resolution: - { - integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} dev: true /cli-truncate@2.1.0: - resolution: - { - integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@3.1.0: - resolution: - { - integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 dev: true /cli-width@3.0.0: - resolution: - { - integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} dev: true /clipanion@3.1.0(typanion@3.12.1): - resolution: - { - integrity: sha512-v025Hz+IDQ15FpOyK8p02h5bFznMu6rLFsJSyOPR+7WrbSnZ1Ek6pblPukV7K5tC/dsWfncQPIrJ4iUy2PXkbw==, - } + resolution: {integrity: sha512-v025Hz+IDQ15FpOyK8p02h5bFznMu6rLFsJSyOPR+7WrbSnZ1Ek6pblPukV7K5tC/dsWfncQPIrJ4iUy2PXkbw==} peerDependencies: typanion: '*' dependencies: typanion: 3.12.1 dev: true - /clipboardy@3.0.0: - resolution: - { - integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - arch: 2.2.0 - execa: 5.1.1 - is-wsl: 2.2.0 - dev: true - /cliui@6.0.0: - resolution: - { - integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, - } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -10500,11 +7083,8 @@ packages: dev: true /cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -10512,11 +7092,8 @@ packages: dev: true /clone-deep@4.0.1: - resolution: - { - integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} dependencies: is-plain-object: 2.0.4 kind-of: 6.0.3 @@ -10524,171 +7101,86 @@ packages: dev: true /clone-response@1.0.3: - resolution: - { - integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==, - } + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 dev: true /clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: '>=0.8' } - dev: true - - /cluster-key-slot@1.1.2: - resolution: - { - integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /co@4.6.0: - resolution: - { - integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, - } - engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } - dev: true - - /code-red@1.0.4: - resolution: - { - integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==, - } - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - '@types/estree': 1.0.1 - acorn: 8.10.0 - estree-walker: 3.0.3 - periscopic: 3.1.0 + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true /collect-v8-coverage@1.0.1: - resolution: - { - integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==, - } + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true /color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true /color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /color-support@1.1.3: - resolution: - { - integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==, - } - hasBin: true + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true /colord@2.9.2: - resolution: - { - integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==, - } + resolution: {integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==} dev: true /colorette@2.0.19: - resolution: - { - integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==, - } + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true /columnify@1.6.0: - resolution: - { - integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} + engines: {node: '>=8.0.0'} dependencies: strip-ansi: 6.0.1 wcwidth: 1.0.1 dev: true /combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: true /commander@10.0.1: - resolution: - { - integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, - } - engines: { node: '>=14' } + 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==, - } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true /commander@7.2.0: - resolution: - { - integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, - } - engines: { node: '>= 10' } - dev: true - - /commander@8.3.0: - resolution: - { - integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} dev: true /commitizen@4.3.0(@swc/core@1.3.91): - resolution: - { - integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} + engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 @@ -10711,48 +7203,23 @@ packages: dev: true /common-path-prefix@3.0.0: - resolution: - { - integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==, - } + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: true /commondir@1.0.1: - resolution: - { - integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==, - } - dev: true - - /compress-commons@4.1.1: - resolution: - { - integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==, - } - engines: { node: '>= 10' } - dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.2 - normalize-path: 3.0.0 - readable-stream: 3.6.0 + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true /compressible@2.0.18: - resolution: - { - integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: true /compression@1.7.4: - resolution: - { - integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.8 bytes: 3.0.0 @@ -10766,125 +7233,75 @@ packages: dev: true /concat-map@0.0.1: - resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true /confusing-browser-globals@1.0.11: - resolution: - { - integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==, - } + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true /connect-history-api-fallback@2.0.0: - resolution: - { - integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} dev: true /consola@3.2.3: - resolution: - { - integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==, - } - engines: { node: ^14.18.0 || >=16.10.0 } - dev: true - - /console-control-strings@1.1.0: - resolution: - { - integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==, - } + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} dev: true /content-disposition@0.5.4: - resolution: - { - integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 dev: true /content-type@1.0.4: - resolution: - { - integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} dev: true /conventional-commit-types@3.0.0: - resolution: - { - integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==, - } + resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} dev: true /convert-source-map@1.8.0: - resolution: - { - integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==, - } + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} dependencies: safe-buffer: 5.1.2 dev: true /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - dev: true - - /cookie-es@1.0.0: - resolution: - { - integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==, - } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true /cookie-signature@1.0.6: - resolution: { integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw= } + resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: true /cookie@0.5.0: - resolution: - { - integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: true /cookies@0.8.0: - resolution: - { - integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} + engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 keygrip: 1.1.0 dev: true /copy-anything@2.0.6: - resolution: - { - integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==, - } + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} dependencies: is-what: 3.14.1 dev: true /copy-webpack-plugin@10.2.4(webpack@5.88.2): - resolution: - { - integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==, - } - engines: { node: '>= 12.20.0' } + resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==} + engines: {node: '>= 12.20.0'} peerDependencies: webpack: ^5.1.0 dependencies: @@ -10898,11 +7315,8 @@ packages: dev: true /copy-webpack-plugin@11.0.0(webpack@5.88.2): - resolution: - { - integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.1.0 dependencies: @@ -10916,53 +7330,35 @@ packages: dev: true /core-js-compat@3.32.0: - resolution: - { - integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==, - } + resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==} dependencies: browserslist: 4.21.10 dev: true /core-util-is@1.0.2: - resolution: - { - integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==, - } + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true /core-util-is@1.0.3: - resolution: - { - integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, - } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true /cors@2.8.5: - resolution: - { - integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} dependencies: object-assign: 4.1.1 vary: 1.1.2 dev: true /corser@2.0.1: - resolution: - { - integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==, - } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} + engines: {node: '>= 0.4.0'} dev: true /cosmiconfig-typescript-loader@1.0.6(@swc/core@1.3.91)(@types/node@18.15.3)(cosmiconfig@7.0.1)(typescript@4.6.2): - resolution: - { - integrity: sha512-2nEotziYJWtNtoTjKbchj9QrdTT6DBxCvqjNKoDKARw+e2yZmTQCa07uRrykLIZuvSgp69YXLH89UHc0WhdMfQ==, - } - engines: { node: '>=12', npm: '>=6' } + resolution: {integrity: sha512-2nEotziYJWtNtoTjKbchj9QrdTT6DBxCvqjNKoDKARw+e2yZmTQCa07uRrykLIZuvSgp69YXLH89UHc0WhdMfQ==} + engines: {node: '>=12', npm: '>=6'} requiresBuild: true peerDependencies: '@types/node': '*' @@ -10980,11 +7376,8 @@ packages: optional: true /cosmiconfig@6.0.0: - resolution: - { - integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} dependencies: '@types/parse-json': 4.0.0 import-fresh: 3.3.0 @@ -10994,11 +7387,8 @@ packages: dev: true /cosmiconfig@7.0.1: - resolution: - { - integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} + engines: {node: '>=10'} dependencies: '@types/parse-json': 4.0.0 import-fresh: 3.3.0 @@ -11008,11 +7398,8 @@ packages: dev: true /cosmiconfig@8.2.0: - resolution: - { - integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + engines: {node: '>=14'} dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -11020,38 +7407,12 @@ packages: path-type: 4.0.0 dev: true - /crc-32@1.2.2: - resolution: - { - integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==, - } - engines: { node: '>=0.8' } - hasBin: true - dev: true - - /crc32-stream@4.0.2: - resolution: - { - integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==, - } - engines: { node: '>= 10' } - dependencies: - crc-32: 1.2.2 - readable-stream: 3.6.0 - dev: true - /create-require@1.1.1: - resolution: - { - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, - } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true /critters@0.0.20: - resolution: - { - integrity: sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==, - } + resolution: {integrity: sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==} dependencies: chalk: 4.1.0 css-select: 5.1.0 @@ -11063,10 +7424,7 @@ packages: dev: true /cross-spawn@5.1.0: - resolution: - { - integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==, - } + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -11074,11 +7432,8 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -11086,11 +7441,8 @@ packages: dev: true /css-declaration-sorter@6.4.0(postcss@8.4.28): - resolution: - { - integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==} + engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: @@ -11098,11 +7450,8 @@ packages: dev: true /css-loader@6.8.1(webpack@5.88.2): - resolution: - { - integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} + engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: @@ -11118,11 +7467,8 @@ packages: dev: true /css-minimizer-webpack-plugin@5.0.1(webpack@5.88.2): - resolution: - { - integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} peerDependencies: '@parcel/css': '*' '@swc/css': '*' @@ -11155,10 +7501,7 @@ packages: dev: true /css-select@5.1.0: - resolution: - { - integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, - } + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} dependencies: boolbase: 1.0.0 css-what: 6.1.0 @@ -11168,50 +7511,35 @@ packages: dev: true /css-tree@2.2.1: - resolution: - { - integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==, - } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0' } + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: mdn-data: 2.0.28 source-map-js: 1.0.2 dev: true /css-tree@2.3.1: - resolution: - { - integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==, - } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 source-map-js: 1.0.2 dev: true /css-what@6.1.0: - resolution: - { - integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} dev: true /cssesc@3.0.0: - resolution: - { - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true dev: true /cssnano-preset-default@6.0.1(postcss@8.4.28): - resolution: - { - integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -11248,11 +7576,8 @@ packages: dev: true /cssnano-utils@4.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -11260,11 +7585,8 @@ packages: dev: true /cssnano@6.0.1(postcss@8.4.28): - resolution: - { - integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -11274,66 +7596,38 @@ packages: dev: true /csso@5.0.5: - resolution: - { - integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==, - } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0' } + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: css-tree: 2.2.1 dev: true /cssom@0.3.8: - resolution: - { - integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==, - } + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true /cssom@0.4.4: - resolution: - { - integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==, - } + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} dev: true /cssom@0.5.0: - resolution: - { - integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==, - } + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} dev: true /cssstyle@2.3.0: - resolution: - { - integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} dependencies: cssom: 0.3.8 dev: true /csstype@3.1.2: - resolution: - { - integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==, - } - dev: true - - /cuint@0.2.2: - resolution: - { - integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==, - } + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} dev: true /cz-conventional-changelog@3.3.0(@swc/core@1.3.91): - resolution: - { - integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} + engines: {node: '>= 10'} dependencies: chalk: 2.4.2 commitizen: 4.3.0(@swc/core@1.3.91) @@ -11349,10 +7643,7 @@ packages: dev: true /cz-customizable@6.9.1: - resolution: - { - integrity: sha512-syPyuOyV/+cEXbky8x/MIyWvJmzwhucdI1CA3swydxrMz5ey02HQ1zVDkMmtWT/cpKfELCn7uw2w8WUvXkr56g==, - } + resolution: {integrity: sha512-syPyuOyV/+cEXbky8x/MIyWvJmzwhucdI1CA3swydxrMz5ey02HQ1zVDkMmtWT/cpKfELCn7uw2w8WUvXkr56g==} hasBin: true dependencies: editor: 1.0.0 @@ -11364,39 +7655,22 @@ packages: dev: true /d@1.0.1: - resolution: - { - integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==, - } + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: es5-ext: 0.10.62 type: 1.2.0 dev: true /dashdash@1.14.1: - resolution: - { - integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 dev: true - /data-uri-to-buffer@4.0.1: - resolution: - { - integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, - } - engines: { node: '>= 12' } - dev: true - /data-urls@2.0.0: - resolution: - { - integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} dependencies: abab: 2.0.6 whatwg-mimetype: 2.3.0 @@ -11404,11 +7678,8 @@ packages: dev: true /data-urls@3.0.2: - resolution: - { - integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} dependencies: abab: 2.0.6 whatwg-mimetype: 3.0.0 @@ -11416,17 +7687,11 @@ packages: dev: true /dayjs@1.11.6: - resolution: - { - integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==, - } + resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} dev: true /debug@2.6.9: - resolution: - { - integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, - } + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -11437,10 +7702,7 @@ packages: dev: true /debug@3.2.7: - resolution: - { - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, - } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -11451,11 +7713,8 @@ packages: dev: true /debug@4.3.1: - resolution: - { - integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -11466,11 +7725,8 @@ packages: dev: true /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -11481,219 +7737,106 @@ packages: dev: true /decamelize@1.2.0: - resolution: - { - integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decimal.js@10.4.3: - resolution: - { - integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==, - } + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true /decompress-response@6.0.0: - resolution: - { - integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 dev: true /dedent@0.7.0: - resolution: - { - integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, - } - dev: true - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: '>=6' } - dependencies: - type-detect: 4.0.8 + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { - integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: true /default-gateway@6.0.3: - resolution: - { - integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} dependencies: execa: 5.1.1 dev: true /defaults@1.0.3: - resolution: - { - integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==, - } + resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: - { - integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} dev: true /define-lazy-prop@2.0.0: - resolution: - { - integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} dev: true /defu@6.1.2: - resolution: - { - integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==, - } + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: true /delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: '>=0.4.0' } - dev: true - - /delegates@1.0.0: - resolution: - { - integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==, - } - dev: true - - /denque@2.1.0: - resolution: - { - integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: true /depd@1.1.2: - resolution: - { - integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} dev: true /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: '>= 0.8' } - dev: true - - /dequal@2.0.3: - resolution: - { - integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} dev: true /destr@2.0.1: - resolution: - { - integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==, - } + resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} dev: true /destroy@1.2.0: - resolution: - { - integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true /detect-file@1.0.0: - resolution: - { - integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} dev: true /detect-indent@6.1.0: - resolution: - { - integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, - } - engines: { node: '>=8' } - dev: true - - /detect-libc@1.0.3: - resolution: - { - integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==, - } - engines: { node: '>=0.10' } - hasBin: true - dev: true - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-newline@3.1.0: - resolution: - { - integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} dev: true /detect-node@2.1.0: - resolution: - { - integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==, - } + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true /detect-port@1.5.1: - resolution: - { - integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==, - } + resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} hasBin: true dependencies: address: 1.2.2 @@ -11702,78 +7845,47 @@ packages: - supports-color dev: true - /devalue@4.3.2: - resolution: - { - integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==, - } - dev: true - /didyoumean@1.2.2: - resolution: - { - integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, - } + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true /diff-sequences@29.4.3: - resolution: - { - integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} dev: true /dir-glob@3.0.1: - resolution: - { - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true /dns-equal@1.0.0: - resolution: - { - integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==, - } + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true /dns-packet@5.3.1: - resolution: - { - integrity: sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==} + engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 dev: true /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: true /dom-serializer@2.0.0: - resolution: - { - integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, - } + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -11781,47 +7893,32 @@ packages: dev: true /domelementtype@2.3.0: - resolution: - { - integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, - } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true /domexception@2.0.1: - resolution: - { - integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} dependencies: webidl-conversions: 5.0.0 dev: true /domexception@4.0.0: - resolution: - { - integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} dependencies: webidl-conversions: 7.0.0 dev: true /domhandler@5.0.3: - resolution: - { - integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true /domutils@3.1.0: - resolution: - { - integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==, - } + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -11829,161 +7926,100 @@ packages: dev: true /dot-case@3.0.4: - resolution: - { - integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==, - } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.1 dev: true - /dot-prop@7.2.0: - resolution: - { - integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - type-fest: 2.19.0 - dev: true - /dotenv-expand@10.0.0: - resolution: - { - integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} dev: true /dotenv@10.0.0: - resolution: - { - integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} dev: true /dotenv@16.3.1: - resolution: - { - integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} dev: true /duplexer@0.1.2: - resolution: - { - integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, - } + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true /eastasianwidth@0.2.0: - resolution: - { - integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, - } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true /ecc-jsbn@0.1.2: - resolution: - { - integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==, - } + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 dev: true /ecdsa-sig-formatter@1.0.11: - resolution: - { - integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, - } + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 dev: true /editor@1.0.0: - resolution: { integrity: sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= } + resolution: {integrity: sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=} dev: true /ee-first@1.1.1: - resolution: { integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= } + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true /ejs@3.1.7: - resolution: - { - integrity: sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.5 dev: true /electron-to-chromium@1.4.484: - resolution: - { - integrity: sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==, - } + resolution: {integrity: sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==} dev: true /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} dev: true /emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true /emoji-regex@9.2.2: - resolution: - { - integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, - } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true /emojis-list@3.0.0: - resolution: - { - integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} dev: true /encodeurl@1.0.2: - resolution: - { - integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} dev: true /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true /enhanced-resolve@4.5.0: - resolution: - { - integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} + engines: {node: '>=6.9.0'} dependencies: graceful-fs: 4.2.9 memory-fs: 0.5.0 @@ -11991,75 +8027,51 @@ packages: dev: true /enhanced-resolve@5.15.0: - resolution: - { - integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.9 tapable: 2.2.1 dev: true /enquirer@2.3.6: - resolution: - { - integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 dev: true /entities@4.5.0: - resolution: - { - integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, - } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} dev: true /envinfo@7.8.1: - resolution: - { - integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + engines: {node: '>=4'} hasBin: true dev: true /errno@0.1.8: - resolution: - { - integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, - } + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true /es-module-lexer@1.2.1: - resolution: - { - integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==, - } + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} dev: true /es5-ext@0.10.62: - resolution: - { - integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} requiresBuild: true dependencies: es6-iterator: 2.0.3 @@ -12068,38 +8080,22 @@ packages: dev: true /es6-iterator@2.0.3: - resolution: - { - integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==, - } + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} dependencies: d: 1.0.1 es5-ext: 0.10.62 es6-symbol: 3.1.3 dev: true - /es6-promise@3.3.1: - resolution: - { - integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==, - } - dev: true - /es6-symbol@3.1.3: - resolution: - { - integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==, - } + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} dependencies: d: 1.0.1 ext: 1.7.0 dev: true /es6-weak-map@2.0.3: - resolution: - { - integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==, - } + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} dependencies: d: 1.0.1 es5-ext: 0.10.62 @@ -12108,53 +8104,14 @@ packages: dev: true /esbuild-wasm@0.18.17: - resolution: - { - integrity: sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==, - } - engines: { node: '>=12' } - hasBin: true - dev: true - - /esbuild@0.17.19: - resolution: - { - integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==} + engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 dev: true /esbuild@0.18.17: - resolution: - { - integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -12183,11 +8140,8 @@ packages: dev: true /esbuild@0.18.20: - resolution: - { - integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -12216,58 +8170,37 @@ packages: dev: true /escalade@3.1.1: - resolution: - { - integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} dev: true /escape-html@1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: true /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} dev: true /escape-string-regexp@2.0.0: - resolution: - { - integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} dev: true /escape-string-regexp@5.0.0: - resolution: - { - integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: true /escodegen@2.0.0: - resolution: - { - integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -12279,10 +8212,7 @@ packages: dev: true /eslint-config-prettier@8.8.0(eslint@8.46.0): - resolution: - { - integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==, - } + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -12291,10 +8221,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.6: - resolution: - { - integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==, - } + resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: debug: 3.2.7 resolve: 1.22.4 @@ -12303,10 +8230,7 @@ packages: dev: true /eslint-plugin-cypress@2.14.0(eslint@8.46.0): - resolution: - { - integrity: sha512-eW6tv7iIg7xujleAJX4Ujm649Bf5jweqa4ObPEIuueYRyLZt7qXGWhCY/n4bfeFW/j6nQZwbIBHKZt6EKcL/cg==, - } + resolution: {integrity: sha512-eW6tv7iIg7xujleAJX4Ujm649Bf5jweqa4ObPEIuueYRyLZt7qXGWhCY/n4bfeFW/j6nQZwbIBHKZt6EKcL/cg==} peerDependencies: eslint: '>= 3.2.1' dependencies: @@ -12314,55 +8238,30 @@ packages: globals: 13.21.0 dev: true - /eslint-plugin-svelte3@4.0.0(eslint@8.46.0)(svelte@4.2.1): - resolution: - { - integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==, - } - peerDependencies: - eslint: '>=8.0.0' - svelte: ^3.2.0 - dependencies: - eslint: 8.46.0 - svelte: 4.2.1 - dev: true - /eslint-scope@5.1.1: - resolution: - { - integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /eslint@8.46.0: - resolution: - { - integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.3.0(eslint@8.46.0) @@ -12407,11 +8306,8 @@ packages: dev: true /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) @@ -12419,120 +8315,78 @@ packages: dev: true /esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true dev: true /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@4.3.0: - resolution: - { - integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} dev: true /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} dev: true /estree-walker@2.0.2: - resolution: - { - integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, - } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.1 dev: true /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} dev: true /etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} dev: true /event-emitter@0.3.5: - resolution: - { - integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==, - } + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} dependencies: d: 1.0.1 es5-ext: 0.10.62 dev: true /eventemitter-asyncresource@1.0.0: - resolution: - { - integrity: sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==, - } + resolution: {integrity: sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==} dev: true /eventemitter3@4.0.7: - resolution: - { - integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==, - } + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: '>=0.8.x' } + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} dev: true /execa@0.7.0: - resolution: - { - integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} + engines: {node: '>=4'} dependencies: cross-spawn: 5.1.0 get-stream: 3.0.0 @@ -12544,11 +8398,8 @@ packages: dev: true /execa@4.1.0: - resolution: - { - integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -12562,11 +8413,8 @@ packages: dev: true /execa@5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -12580,11 +8428,8 @@ packages: dev: true /execa@7.2.0: - resolution: - { - integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, - } - engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -12598,39 +8443,27 @@ packages: dev: true /executable@4.1.1: - resolution: - { - integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} dependencies: pify: 2.3.0 dev: true /exit@0.1.2: - resolution: - { - integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} dev: true /expand-tilde@2.0.2: - resolution: - { - integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} dependencies: homedir-polyfill: 1.0.3 dev: true /expect@29.5.0: - resolution: - { - integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.5.0 jest-get-type: 29.4.3 @@ -12640,18 +8473,12 @@ packages: dev: true /express-rate-limit@5.5.1: - resolution: - { - integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==, - } + resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==} dev: true /express@4.18.2: - resolution: - { - integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==, - } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -12689,95 +8516,56 @@ packages: dev: true /ext-list@2.2.2: - resolution: - { - integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} + engines: {node: '>=0.10.0'} dependencies: mime-db: 1.52.0 dev: true /ext-name@5.0.0: - resolution: - { - integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} + engines: {node: '>=4'} dependencies: ext-list: 2.2.2 sort-keys-length: 1.0.1 dev: true /ext@1.7.0: - resolution: - { - integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==, - } + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: type: 2.7.2 dev: true /extend@3.0.2: - resolution: - { - integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, - } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true /external-editor@3.1.0: - resolution: - { - integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 dev: true - /externality@1.0.2: - resolution: - { - integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==, - } - dependencies: - enhanced-resolve: 5.15.0 - mlly: 1.4.1 - pathe: 1.1.1 - ufo: 1.3.0 - dev: true - /extsprintf@1.3.0: - resolution: - { - integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==, - } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} dev: true /extsprintf@1.4.1: - resolution: - { - integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==, - } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} + engines: {'0': node >=0.6.0} dev: true /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true /fast-glob@3.2.7: - resolution: - { - integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} + engines: {node: '>=8'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -12787,11 +8575,8 @@ packages: dev: true /fast-glob@3.3.1: - resolution: - { - integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==, - } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -12801,99 +8586,58 @@ packages: dev: true /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-redact@3.1.1: - resolution: - { - integrity: sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A==} + engines: {node: '>=6'} dev: true /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} dev: true /fastq@1.13.0: - resolution: - { - integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, - } + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 dev: true /faye-websocket@0.11.4: - resolution: - { - integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} dependencies: websocket-driver: 0.7.4 dev: true /fb-watchman@2.0.1: - resolution: - { - integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==, - } + resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} dependencies: bser: 2.1.1 dev: true - /fetch-blob@3.2.0: - resolution: - { - integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, - } - engines: { node: ^12.20 || >= 14.13 } - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true - /figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 dev: true /file-loader@6.2.0(webpack@5.88.2): - resolution: - { - integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==, - } - engines: { node: '>= 10.13.0' } + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} peerDependencies: webpack: ^4.0.0 || ^5.0.0 dependencies: @@ -12903,11 +8647,8 @@ packages: dev: true /file-type@17.1.6: - resolution: - { - integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: readable-web-to-node-stream: 3.0.2 strtok3: 7.0.0 @@ -12915,47 +8656,28 @@ packages: dev: true /file-type@18.5.0: - resolution: - { - integrity: sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==} + engines: {node: '>=14.16'} dependencies: readable-web-to-node-stream: 3.0.2 strtok3: 7.0.0 token-types: 5.0.1 dev: true - /file-uri-to-path@1.0.0: - resolution: - { - integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==, - } - dev: true - /filelist@1.0.3: - resolution: - { - integrity: sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==, - } + resolution: {integrity: sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==} dependencies: minimatch: 5.1.6 dev: true /filename-reserved-regex@3.0.0: - resolution: - { - integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /filenamify@5.1.1: - resolution: - { - integrity: sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==, - } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==} + engines: {node: '>=12.20'} dependencies: filename-reserved-regex: 3.0.0 strip-outer: 2.0.0 @@ -12963,21 +8685,15 @@ packages: dev: true /fill-range@7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true /finalhandler@1.2.0: - resolution: - { - integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -12991,11 +8707,8 @@ packages: dev: true /find-cache-dir@3.3.2: - resolution: - { - integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} dependencies: commondir: 1.0.1 make-dir: 3.1.0 @@ -13003,92 +8716,65 @@ packages: dev: true /find-cache-dir@4.0.0: - resolution: - { - integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} dependencies: common-path-prefix: 3.0.0 pkg-dir: 7.0.0 dev: true /find-config@1.0.0: - resolution: - { - integrity: sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==, - } - engines: { node: '>= 0.12' } + resolution: {integrity: sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==} + engines: {node: '>= 0.12'} dependencies: user-home: 2.0.0 dev: true /find-node-modules@2.1.3: - resolution: - { - integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==, - } + resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==} dependencies: findup-sync: 4.0.0 merge: 2.1.1 dev: true /find-root@1.1.0: - resolution: - { - integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==, - } + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} dev: true /find-up@4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: - { - integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: true /find-versions@5.1.0: - resolution: - { - integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} + engines: {node: '>=12'} dependencies: semver-regex: 4.0.5 dev: true /findup-sync@4.0.0: - resolution: - { - integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} + engines: {node: '>= 8'} dependencies: detect-file: 1.0.0 is-glob: 4.0.3 @@ -13097,53 +8783,35 @@ packages: dev: true /flat-cache@3.0.4: - resolution: - { - integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.2.5 rimraf: 3.0.2 dev: true /flat@5.0.2: - resolution: - { - integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, - } + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true dev: true /flatstr@1.0.12: - resolution: - { - integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==, - } + resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==} dev: true /flatted@3.2.5: - resolution: - { - integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==, - } + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true /focus-trap@7.5.2: - resolution: - { - integrity: sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==, - } + resolution: {integrity: sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==} dependencies: tabbable: 6.2.0 dev: true /follow-redirects@1.15.2: - resolution: - { - integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -13152,18 +8820,12 @@ packages: dev: true /forever-agent@0.6.1: - resolution: - { - integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==, - } + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true /fork-ts-checker-webpack-plugin@7.2.13(typescript@5.1.6)(webpack@5.88.2): - resolution: - { - integrity: sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==, - } - engines: { node: '>=12.13.0', yarn: '>=1.0.0' } + resolution: {integrity: sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: typescript: '>3.6.0' vue-template-compiler: '*' @@ -13189,11 +8851,8 @@ packages: dev: true /form-data@2.3.3: - resolution: - { - integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==, - } - engines: { node: '>= 0.12' } + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -13201,11 +8860,8 @@ packages: dev: true /form-data@3.0.1: - resolution: - { - integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -13213,60 +8869,35 @@ packages: dev: true /form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.34 dev: true - /formdata-polyfill@4.0.10: - resolution: - { - integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, - } - engines: { node: '>=12.20.0' } - dependencies: - fetch-blob: 3.2.0 - dev: true - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} dev: true /fraction.js@4.2.0: - resolution: - { - integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==, - } + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true /fresh@0.5.2: - resolution: { integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= } - engines: { node: '>= 0.6' } + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + engines: {node: '>= 0.6'} dev: true /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, - } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true /fs-extra@10.1.0: - resolution: - { - integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.9 jsonfile: 6.1.0 @@ -13274,11 +8905,8 @@ packages: dev: true /fs-extra@11.1.1: - resolution: - { - integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==, - } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.9 jsonfile: 6.1.0 @@ -13286,11 +8914,8 @@ packages: dev: true /fs-extra@9.1.0: - resolution: - { - integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.9 @@ -13299,93 +8924,44 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: - { - integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: minipass: 3.1.6 dev: true /fs-monkey@1.0.4: - resolution: - { - integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==, - } + resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==} dev: true /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.1: - resolution: - { - integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, - } - dev: true - - /gauge@3.0.2: - resolution: - { - integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==, - } - engines: { node: '>=10' } - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true /gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} dev: true /get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } - dev: true - - /get-func-name@2.0.0: - resolution: - { - integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==, - } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} dev: true /get-intrinsic@1.1.1: - resolution: - { - integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==, - } + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 @@ -13393,67 +8969,39 @@ packages: dev: true /get-package-type@0.1.0: - resolution: - { - integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, - } - engines: { node: '>=8.0.0' } - dev: true - - /get-port-please@3.0.1: - resolution: - { - integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==, - } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} dev: true /get-stream@3.0.0: - resolution: - { - integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} dev: true /get-stream@5.2.0: - resolution: - { - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: true /get-stream@6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} dev: true /get-them-args@1.3.2: - resolution: - { - integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==, - } + resolution: {integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==} dev: true /getpass@0.1.7: - resolution: - { - integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==, - } + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} dependencies: assert-plus: 1.0.0 dev: true /giget@1.1.2: - resolution: - { - integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==, - } + resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} hasBin: true dependencies: colorette: 2.0.19 @@ -13467,65 +9015,26 @@ packages: - supports-color dev: true - /git-config-path@2.0.0: - resolution: - { - integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==, - } - engines: { node: '>=4' } - dev: true - - /git-up@7.0.0: - resolution: - { - integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==, - } - dependencies: - is-ssh: 1.4.0 - parse-url: 8.1.0 - dev: true - - /git-url-parse@13.1.0: - resolution: - { - integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==, - } - dependencies: - git-up: 7.0.0 - dev: true - /glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 dev: true /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: - { - integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==, - } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true /glob@6.0.4: - resolution: - { - integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==, - } + resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} dependencies: inflight: 1.0.6 inherits: 2.0.4 @@ -13535,10 +9044,7 @@ packages: dev: true /glob@7.1.4: - resolution: - { - integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==, - } + resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13549,10 +9055,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13562,38 +9065,18 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: '>=12' } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /global-dirs@0.1.1: - resolution: - { - integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==, - } - engines: { node: '>=4' } - requiresBuild: true + /global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + requiresBuild: true dependencies: ini: 1.3.8 dev: true optional: true /global-modules@1.0.0: - resolution: - { - integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} dependencies: global-prefix: 1.0.2 is-windows: 1.0.2 @@ -13601,11 +9084,8 @@ packages: dev: true /global-prefix@1.0.2: - resolution: - { - integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} dependencies: expand-tilde: 2.0.2 homedir-polyfill: 1.0.3 @@ -13615,29 +9095,20 @@ packages: dev: true /globals@11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} dev: true /globals@13.21.0: - resolution: - { - integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globby@11.1.0: - resolution: - { - integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -13648,11 +9119,8 @@ packages: dev: true /globby@12.2.0: - resolution: - { - integrity: sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: array-union: 3.0.1 dir-glob: 3.0.1 @@ -13663,11 +9131,8 @@ packages: dev: true /globby@13.2.2: - resolution: - { - integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.1 @@ -13677,18 +9142,12 @@ packages: dev: true /globrex@0.1.2: - resolution: - { - integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==, - } + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true /got@11.8.6: - resolution: - { - integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==, - } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} dependencies: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 @@ -13704,24 +9163,15 @@ packages: dev: true /graceful-fs@4.2.9: - resolution: - { - integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==, - } + resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /guess-parser@0.4.22(typescript@5.1.6): - resolution: - { - integrity: sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==, - } + resolution: {integrity: sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==} peerDependencies: typescript: '>=3.7.5' dependencies: @@ -13734,45 +9184,13 @@ packages: - utf-8-validate dev: true - /gzip-size@7.0.0: - resolution: - { - integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - duplexer: 0.1.2 - dev: true - - /h3@1.8.0: - resolution: - { - integrity: sha512-057VY83X7Tg5n4XU2GV9M3dsCWUU4jtw2Lc/r4GjAcf9Jb6GI1mD5F8TCQHUcvLMEgtx6lbfobOFu7Vdmejihg==, - } - dependencies: - cookie-es: 1.0.0 - defu: 6.1.2 - destr: 2.0.1 - iron-webcrypto: 0.8.0 - radix3: 1.1.0 - ufo: 1.3.0 - uncrypto: 0.1.3 - unenv: 1.7.3 - dev: true - /handle-thing@2.0.1: - resolution: - { - integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==, - } + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true /handlebars@4.7.7: - resolution: - { - integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==, - } - engines: { node: '>=0.4.7' } + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} hasBin: true dependencies: minimist: 1.2.7 @@ -13784,19 +9202,13 @@ packages: dev: true /har-schema@2.0.0: - resolution: - { - integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} dev: true /har-validator@5.1.5: - resolution: - { - integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} deprecated: this library is no longer supported dependencies: ajv: 6.12.6 @@ -13804,65 +9216,37 @@ packages: dev: true /harmony-reflect@1.6.2: - resolution: - { - integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==, - } + resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} dev: true /has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} dev: true /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} dev: true /has-symbols@1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: '>= 0.4' } - dev: true - - /has-unicode@2.0.1: - resolution: - { - integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==, - } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} dev: true /has@1.0.3: - resolution: - { - integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, - } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: true /hash-sum@2.0.0: - resolution: - { - integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==, - } + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true /hdr-histogram-js@2.0.3: - resolution: - { - integrity: sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==, - } + resolution: {integrity: sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==} dependencies: '@assemblyscript/loader': 0.10.1 base64-js: 1.5.1 @@ -13870,52 +9254,34 @@ packages: dev: true /hdr-histogram-percentiles-obj@3.0.0: - resolution: - { - integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==, - } + resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} dev: true /he@1.2.0: - resolution: - { - integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, - } + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true dev: true /homedir-polyfill@1.0.3: - resolution: - { - integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} dependencies: parse-passwd: 1.0.0 dev: true /hookable@5.5.3: - resolution: - { - integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==, - } + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} dev: true /hosted-git-info@7.0.1: - resolution: - { - integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==, - } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: lru-cache: 10.0.1 dev: true /hpack.js@2.1.6: - resolution: - { - integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==, - } + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: inherits: 2.0.4 obuf: 1.1.2 @@ -13924,52 +9290,29 @@ packages: dev: true /html-encoding-sniffer@2.0.1: - resolution: - { - integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} dependencies: whatwg-encoding: 1.0.5 dev: true /html-encoding-sniffer@3.0.0: - resolution: - { - integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} dependencies: whatwg-encoding: 2.0.0 dev: true /html-entities@2.3.3: - resolution: - { - integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==, - } + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} dev: true /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /html-tags@3.3.1: - resolution: - { - integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true /htmlparser2@8.0.2: - resolution: - { - integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==, - } + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -13978,25 +9321,16 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: - { - integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, - } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true /http-deceiver@1.2.7: - resolution: - { - integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==, - } + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} dev: true /http-errors@1.6.3: - resolution: - { - integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} dependencies: depd: 1.1.2 inherits: 2.0.3 @@ -14005,11 +9339,8 @@ packages: dev: true /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -14018,31 +9349,13 @@ packages: toidentifier: 1.0.1 dev: true - /http-graceful-shutdown@3.1.13: - resolution: - { - integrity: sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==, - } - engines: { node: '>=4.0.0' } - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /http-parser-js@0.5.5: - resolution: - { - integrity: sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==, - } + resolution: {integrity: sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==} dev: true /http-proxy-agent@4.0.1: - resolution: - { - integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 @@ -14052,11 +9365,8 @@ packages: dev: true /http-proxy-agent@5.0.0: - resolution: - { - integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 @@ -14066,11 +9376,8 @@ packages: dev: true /http-proxy-middleware@2.0.6(@types/express@4.17.13): - resolution: - { - integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} peerDependencies: '@types/express': ^4.17.13 peerDependenciesMeta: @@ -14088,11 +9395,8 @@ packages: dev: true /http-proxy@1.18.1: - resolution: - { - integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 follow-redirects: 1.15.2 @@ -14102,11 +9406,8 @@ packages: dev: true /http-server@14.1.0: - resolution: - { - integrity: sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==} + engines: {node: '>=12'} hasBin: true dependencies: basic-auth: 2.0.1 @@ -14127,20 +9428,9 @@ packages: - supports-color dev: true - /http-shutdown@1.2.2: - resolution: - { - integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==, - } - engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } - dev: true - /http-signature@1.2.0: - resolution: - { - integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==, - } - engines: { node: '>=0.8', npm: '>=1.3.7' } + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} dependencies: assert-plus: 1.0.0 jsprim: 1.4.2 @@ -14148,29 +9438,20 @@ packages: dev: true /http-status-codes@2.2.0: - resolution: - { - integrity: sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng==, - } + resolution: {integrity: sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng==} dev: true /http2-wrapper@1.0.3: - resolution: - { - integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==, - } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 dev: true /https-proxy-agent@5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.4 @@ -14179,63 +9460,42 @@ packages: dev: true /human-signals@1.1.1: - resolution: - { - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==, - } - engines: { node: '>=8.12.0' } + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} dev: true /human-signals@2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: true /human-signals@4.3.1: - resolution: - { - integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, - } - engines: { node: '>=14.18.0' } + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} dev: true /husky@6.0.0: - resolution: - { - integrity: sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==, - } + resolution: {integrity: sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==} hasBin: true dev: true /iconv-lite@0.4.24: - resolution: - { - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /icss-utils@5.1.0(postcss@8.4.28): - resolution: - { - integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==, - } - engines: { node: ^10 || ^12 || >= 14 } + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: @@ -14243,62 +9503,44 @@ packages: dev: true /identity-obj-proxy@3.0.0: - resolution: { integrity: sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= } - engines: { node: '>=4' } + resolution: {integrity: sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=} + engines: {node: '>=4'} dependencies: harmony-reflect: 1.6.2 dev: true /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true /ignore@5.2.4: - resolution: - { - integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} dev: true /image-size@0.5.5: - resolution: - { - integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} hasBin: true requiresBuild: true dev: true optional: true /immutable@4.0.0: - resolution: - { - integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==, - } + resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==} dev: true /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true /import-local@3.1.0: - resolution: - { - integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} hasBin: true dependencies: pkg-dir: 4.2.0 @@ -14306,58 +9548,37 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} dev: true /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true /inherits@2.0.3: - resolution: - { - integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==, - } + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} dev: true /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true /ini@1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, - } + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true /inquirer@7.3.3: - resolution: - { - integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} dependencies: ansi-escapes: 4.3.2 chalk: 4.1.0 @@ -14375,11 +9596,8 @@ packages: dev: true /inquirer@8.2.4: - resolution: - { - integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} + engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -14399,11 +9617,8 @@ packages: dev: true /inquirer@8.2.5: - resolution: - { - integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -14422,368 +9637,169 @@ packages: wrap-ansi: 7.0.0 dev: true - /ioredis@5.3.2: - resolution: - { - integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==, - } - engines: { node: '>=12.22.0' } - dependencies: - '@ioredis/commands': 1.2.0 - cluster-key-slot: 1.1.2 - debug: 4.3.4 - denque: 2.1.0 - lodash.defaults: 4.2.0 - lodash.isarguments: 3.1.0 - redis-errors: 1.2.0 - redis-parser: 3.0.0 - standard-as-callback: 2.1.0 - transitivePeerDependencies: - - supports-color - dev: true - /ip-regex@4.3.0: - resolution: - { - integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} dev: true /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} dev: true /ipaddr.js@2.0.1: - resolution: - { - integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==, - } - engines: { node: '>= 10' } - dev: true - - /iron-webcrypto@0.8.0: - resolution: - { - integrity: sha512-gScdcWHjTGclCU15CIv2r069NoQrys1UeUFFfaO1hL++ytLHkVw7N5nXJmFf3J2LEDMz1PkrvC0m62JEeu1axQ==, - } + resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} + engines: {node: '>= 10'} dev: true /is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true /is-binary-path@2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true - /is-builtin-module@3.2.1: - resolution: - { - integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==, - } - engines: { node: '>=6' } - dependencies: - builtin-modules: 3.3.0 - dev: true - /is-ci@3.0.1: - resolution: - { - integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, - } + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: ci-info: 3.8.0 dev: true /is-core-module@2.13.0: - resolution: - { - integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==, - } + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 dev: true /is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: '>=8' } - hasBin: true - dev: true - - /is-docker@3.0.0: - resolution: - { - integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true dev: true /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} dev: true /is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} dev: true /is-fullwidth-code-point@4.0.0: - resolution: - { - integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-generator-fn@2.1.0: - resolution: - { - integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} dev: true /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true /is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: '>=8' } - dev: true - - /is-module@1.0.0: - resolution: - { - integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==, - } + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} dev: true /is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} dev: true /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-plain-obj@1.1.0: - resolution: - { - integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} dev: true /is-plain-obj@3.0.0: - resolution: - { - integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} dev: true /is-plain-object@2.0.4: - resolution: - { - integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true /is-potential-custom-element-name@1.0.1: - resolution: - { - integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==, - } - dev: true - - /is-primitive@3.0.1: - resolution: - { - integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true /is-promise@2.2.2: - resolution: - { - integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==, - } - dev: true - - /is-promise@4.0.0: - resolution: - { - integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, - } - dev: true - - /is-reference@1.2.1: - resolution: - { - integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==, - } - dependencies: - '@types/estree': 1.0.1 - dev: true - - /is-reference@3.0.2: - resolution: - { - integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==, - } - dependencies: - '@types/estree': 1.0.0 - dev: true - - /is-ssh@1.4.0: - resolution: - { - integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==, - } - dependencies: - protocols: 2.0.1 + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} dev: true /is-stream@1.1.0: - resolution: - { - integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} dev: true /is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} dev: true /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /is-typedarray@1.0.0: - resolution: - { - integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==, - } + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true /is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} dev: true /is-url@1.2.4: - resolution: - { - integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==, - } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: true /is-utf8@0.2.1: - resolution: - { - integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==, - } + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true /is-what@3.14.1: - resolution: - { - integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==, - } - dev: true - - /is-what@4.1.8: - resolution: - { - integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==, - } - engines: { node: '>=12.13' } + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} dev: true /is-windows@1.0.2: - resolution: - { - integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 dev: true /is2@2.0.7: - resolution: - { - integrity: sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==, - } - engines: { node: '>=v0.10.0' } + resolution: {integrity: sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==} + engines: {node: '>=v0.10.0'} dependencies: deep-is: 0.1.4 ip-regex: 4.3.0 @@ -14791,48 +9807,30 @@ packages: dev: true /isarray@1.0.0: - resolution: - { - integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, - } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true /isobject@3.0.1: - resolution: - { - integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} dev: true /isstream@0.1.2: - resolution: - { - integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==, - } + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true /istanbul-lib-coverage@3.2.0: - resolution: - { - integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} dev: true /istanbul-lib-instrument@5.1.0: - resolution: - { - integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} + engines: {node: '>=8'} dependencies: '@babel/core': 7.22.10 '@babel/parser': 7.22.10 @@ -14844,11 +9842,8 @@ packages: dev: true /istanbul-lib-report@3.0.0: - resolution: - { - integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} dependencies: istanbul-lib-coverage: 3.2.0 make-dir: 3.1.0 @@ -14856,11 +9851,8 @@ packages: dev: true /istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} dependencies: debug: 4.3.4 istanbul-lib-coverage: 3.2.0 @@ -14870,22 +9862,16 @@ packages: dev: true /istanbul-reports@3.1.4: - resolution: - { - integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==} + engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 dev: true /jake@10.8.5: - resolution: - { - integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.4 @@ -14895,22 +9881,16 @@ packages: dev: true /jest-changed-files@29.5.0: - resolution: - { - integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 p-limit: 3.1.0 dev: true /jest-circus@29.5.0: - resolution: - { - integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.6.3 '@jest/expect': 29.5.0 @@ -14937,11 +9917,8 @@ packages: dev: true /jest-cli@29.5.0(@types/node@18.15.3)(ts-node@10.9.1): - resolution: - { - integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -14968,11 +9945,8 @@ packages: dev: true /jest-config@29.5.0(@types/node@18.15.3)(ts-node@10.9.1): - resolution: - { - integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -15011,11 +9985,8 @@ packages: dev: true /jest-diff@29.5.0: - resolution: - { - integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.0 diff-sequences: 29.4.3 @@ -15024,21 +9995,15 @@ packages: dev: true /jest-docblock@29.4.3: - resolution: - { - integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 dev: true /jest-each@29.5.0: - resolution: - { - integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 chalk: 4.1.0 @@ -15048,11 +10013,8 @@ packages: dev: true /jest-environment-jsdom@29.5.0: - resolution: - { - integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -15074,11 +10036,8 @@ packages: dev: true /jest-environment-node@29.6.3: - resolution: - { - integrity: sha512-PKl7upfPJXMYbWpD+60o4HP86KvFO2c9dZ+Zr6wUzsG5xcPx/65o3ArNgHW5M0RFvLYdW4/aieR4JSooD0a2ew==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-PKl7upfPJXMYbWpD+60o4HP86KvFO2c9dZ+Zr6wUzsG5xcPx/65o3ArNgHW5M0RFvLYdW4/aieR4JSooD0a2ew==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.6.3 '@jest/fake-timers': 29.6.3 @@ -15089,19 +10048,13 @@ packages: dev: true /jest-get-type@29.4.3: - resolution: - { - integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /jest-haste-map@29.5.0: - resolution: - { - integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.5 @@ -15119,22 +10072,16 @@ packages: dev: true /jest-leak-detector@29.5.0: - resolution: - { - integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 pretty-format: 29.6.3 dev: true /jest-matcher-utils@29.5.0: - resolution: - { - integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.0 jest-diff: 29.5.0 @@ -15143,11 +10090,8 @@ packages: dev: true /jest-message-util@29.6.3: - resolution: - { - integrity: sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.22.10 '@jest/types': 29.6.3 @@ -15161,11 +10105,8 @@ packages: dev: true /jest-mock@29.6.3: - resolution: - { - integrity: sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 18.15.3 @@ -15173,11 +10114,8 @@ packages: dev: true /jest-pnp-resolver@1.2.2(jest-resolve@29.5.0): - resolution: - { - integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + engines: {node: '>=6'} peerDependencies: jest-resolve: '*' peerDependenciesMeta: @@ -15188,19 +10126,13 @@ packages: dev: true /jest-regex-util@29.4.3: - resolution: - { - integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /jest-resolve-dependencies@29.5.0: - resolution: - { - integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-regex-util: 29.4.3 jest-snapshot: 29.5.0 @@ -15209,11 +10141,8 @@ packages: dev: true /jest-resolve@29.5.0: - resolution: - { - integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.0 graceful-fs: 4.2.9 @@ -15227,11 +10156,8 @@ packages: dev: true /jest-runner@29.5.0: - resolution: - { - integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.5.0 '@jest/environment': 29.6.3 @@ -15259,11 +10185,8 @@ packages: dev: true /jest-runtime@29.5.0: - resolution: - { - integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.6.3 '@jest/fake-timers': 29.6.3 @@ -15292,11 +10215,8 @@ packages: dev: true /jest-snapshot@29.5.0: - resolution: - { - integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.10 '@babel/generator': 7.22.10 @@ -15326,11 +10246,8 @@ packages: dev: true /jest-util@29.6.3: - resolution: - { - integrity: sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 18.15.3 @@ -15341,11 +10258,8 @@ packages: dev: true /jest-validate@29.5.0: - resolution: - { - integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -15356,11 +10270,8 @@ packages: dev: true /jest-watcher@29.5.0: - resolution: - { - integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.5.0 '@jest/types': 29.6.3 @@ -15373,11 +10284,8 @@ packages: dev: true /jest-worker@27.5.1: - resolution: - { - integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, - } - engines: { node: '>= 10.13.0' } + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} dependencies: '@types/node': 18.15.3 merge-stream: 2.0.0 @@ -15385,11 +10293,8 @@ packages: dev: true /jest-worker@29.5.0: - resolution: - { - integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 18.15.3 jest-util: 29.6.3 @@ -15398,11 +10303,8 @@ packages: dev: true /jest@29.4.3(@types/node@18.15.3)(ts-node@10.9.1): - resolution: - { - integrity: sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -15421,25 +10323,16 @@ packages: dev: true /jiti@1.19.3: - resolution: - { - integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==, - } + resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} hasBin: true dev: true /js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true /js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 @@ -15447,28 +10340,19 @@ packages: dev: true /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 dev: true /jsbn@0.1.1: - resolution: - { - integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==, - } + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true /jsdom@16.7.0: - resolution: - { - integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -15509,11 +10393,8 @@ packages: dev: true /jsdom@20.0.3: - resolution: - { - integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -15553,35 +10434,23 @@ packages: dev: true /jsesc@0.5.0: - resolution: - { - integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==, - } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true /json-fixer@1.6.15: - resolution: - { - integrity: sha512-TuDuZ5KrgyjoCIppdPXBMqiGfota55+odM+j2cQ5rt/XKyKmqGB3Whz1F8SN8+60yYGy/Nu5lbRZ+rx8kBIvBw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TuDuZ5KrgyjoCIppdPXBMqiGfota55+odM+j2cQ5rt/XKyKmqGB3Whz1F8SN8+60yYGy/Nu5lbRZ+rx8kBIvBw==} + engines: {node: '>=10'} dependencies: '@babel/runtime': 7.22.6 chalk: 4.1.2 @@ -15589,62 +10458,38 @@ packages: dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: true /json-schema@0.4.0: - resolution: - { - integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==, - } + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} dev: true /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json-stringify-safe@5.0.1: - resolution: - { - integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, - } + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: true /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true dev: true /jsonc-eslint-parser@2.3.0: - resolution: - { - integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 eslint-visitor-keys: 3.4.3 @@ -15653,17 +10498,11 @@ packages: dev: true /jsonc-parser@3.2.0: - resolution: - { - integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, - } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true /jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: @@ -15671,19 +10510,13 @@ packages: dev: true /jsonparse@1.3.1: - resolution: - { - integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, - } - engines: { '0': node >= 0.2.0 } + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} dev: true /jsonwebtoken@8.5.1: - resolution: - { - integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==, - } - engines: { node: '>=4', npm: '>=1.4.28' } + resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} + engines: {node: '>=4', npm: '>=1.4.28'} dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -15698,11 +10531,8 @@ packages: dev: true /jsprim@1.4.2: - resolution: - { - integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 @@ -15711,10 +10541,7 @@ packages: dev: true /jwa@1.4.1: - resolution: - { - integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==, - } + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 @@ -15722,48 +10549,33 @@ packages: dev: true /jws@3.2.2: - resolution: - { - integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==, - } + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 dev: true /karma-source-map-support@1.4.0: - resolution: - { - integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==, - } + resolution: {integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==} dependencies: source-map-support: 0.5.21 dev: true /keygrip@1.1.0: - resolution: - { - integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} dependencies: tsscmp: 1.0.6 dev: true /keyv@4.5.2: - resolution: - { - integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==, - } + resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: json-buffer: 3.0.1 dev: true /kill-port@2.0.1: - resolution: - { - integrity: sha512-e0SVOV5jFo0mx8r7bS29maVWp17qGqLBZ5ricNSajON6//kmb7qqqNnml4twNE8Dtj97UQD+gNFOaipS/q1zzQ==, - } + resolution: {integrity: sha512-e0SVOV5jFo0mx8r7bS29maVWp17qGqLBZ5ricNSajON6//kmb7qqqNnml4twNE8Dtj97UQD+gNFOaipS/q1zzQ==} hasBin: true dependencies: get-them-args: 1.3.2 @@ -15771,77 +10583,39 @@ packages: dev: true /kind-of@6.0.3: - resolution: - { - integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /kleur@3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: true /kleur@4.1.5: - resolution: - { - integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} dev: true /klona@2.0.6: - resolution: - { - integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} dev: true /knitwork@1.0.0: - resolution: - { - integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==, - } - dev: true - - /kolorist@1.5.1: - resolution: - { - integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==, - } + resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} dev: true /launch-editor@2.6.0: - resolution: - { - integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==, - } + resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 dev: true - /lazystream@1.0.1: - resolution: - { - integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==, - } - engines: { node: '>= 0.6.3' } - dependencies: - readable-stream: 2.3.8 - dev: true - /less-loader@11.1.0(less@4.1.3)(webpack@5.88.2): - resolution: - { - integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} + engines: {node: '>= 14.15.0'} peerDependencies: less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 @@ -15852,11 +10626,8 @@ packages: dev: true /less@4.1.3: - resolution: - { - integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} hasBin: true dependencies: copy-anything: 2.0.6 @@ -15875,40 +10646,28 @@ packages: dev: true /leven@3.1.0: - resolution: - { - integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: true /levn@0.3.0: - resolution: - { - integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 dev: true /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /license-webpack-plugin@4.0.2(webpack@5.88.2): - resolution: - { - integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==, - } + resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} peerDependencies: webpack: '*' peerDependenciesMeta: @@ -15922,34 +10681,22 @@ packages: dev: true /lilconfig@2.1.0: - resolution: - { - integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} dev: true /lines-and-columns@1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /lines-and-columns@2.0.3: - resolution: - { - integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /lint-staged@13.2.3: - resolution: - { - integrity: sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg==, - } - engines: { node: ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg==} + engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: chalk: 5.2.0 @@ -15970,37 +10717,9 @@ packages: - supports-color dev: true - /listhen@1.3.0: - resolution: - { - integrity: sha512-QhlP01ReqSXpu8OgBaFQjYMU/4YJTCWLFtoDTxBhitPQWfu0UuBoG2HizMysaRkUEAr/CVxB/20T8ni0zQDPtw==, - } - hasBin: true - dependencies: - '@parcel/watcher': 2.2.0 - '@parcel/watcher-wasm': 2.3.0-alpha.1 - citty: 0.1.2 - clipboardy: 3.0.0 - consola: 3.2.3 - defu: 6.1.2 - get-port-please: 3.0.1 - h3: 1.8.0 - http-shutdown: 1.2.2 - jiti: 1.19.3 - mlly: 1.4.1 - node-forge: 1.3.1 - pathe: 1.1.1 - ufo: 1.3.0 - untun: 0.1.1 - uqr: 0.1.2 - dev: true - /listr2@5.0.8: - resolution: - { - integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==, - } - engines: { node: ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} + engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -16018,19 +10737,13 @@ packages: dev: true /loader-runner@4.2.0: - resolution: - { - integrity: sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==, - } - engines: { node: '>=6.11.5' } + resolution: {integrity: sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==} + engines: {node: '>=6.11.5'} dev: true /loader-utils@2.0.4: - resolution: - { - integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==, - } - engines: { node: '>=8.9.0' } + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} dependencies: big.js: 5.2.2 emojis-list: 3.0.0 @@ -16038,217 +10751,105 @@ packages: dev: true /loader-utils@3.2.1: - resolution: - { - integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} dev: true /local-pkg@0.4.3: - resolution: - { - integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, - } - engines: { node: '>=14' } - dev: true - - /locate-character@3.0.0: - resolution: - { - integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==, - } + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} dev: true /locate-path@5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: - { - integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 dev: true /lockfile@1.0.4: - resolution: - { - integrity: sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==, - } + resolution: {integrity: sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==} dependencies: signal-exit: 3.0.7 dev: true /lodash.debounce@4.0.8: - resolution: - { - integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, - } - dev: true - - /lodash.defaults@4.2.0: - resolution: - { - integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==, - } - dev: true - - /lodash.difference@4.5.0: - resolution: - { - integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==, - } - dev: true - - /lodash.flatten@4.4.0: - resolution: - { - integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==, - } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.includes@4.3.0: - resolution: - { - integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==, - } - dev: true - - /lodash.isarguments@3.1.0: - resolution: - { - integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==, - } + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} dev: true /lodash.isboolean@3.0.3: - resolution: - { - integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==, - } + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} dev: true /lodash.isinteger@4.0.4: - resolution: - { - integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==, - } + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} dev: true /lodash.isnumber@3.0.3: - resolution: - { - integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==, - } + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} dev: true /lodash.isplainobject@4.0.6: - resolution: - { - integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, - } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: true /lodash.isstring@4.0.1: - resolution: - { - integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==, - } + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} dev: true /lodash.map@4.6.0: - resolution: - { - integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==, - } + resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} dev: true /lodash.memoize@4.1.2: - resolution: - { - integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, - } + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true /lodash.once@4.1.1: - resolution: - { - integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==, - } - dev: true - - /lodash.pick@4.4.0: - resolution: - { - integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==, - } - dev: true - - /lodash.union@4.6.0: - resolution: - { - integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==, - } + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} dev: true /lodash.uniq@4.5.0: - resolution: - { - integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==, - } + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: true /lodash@4.17.21: - resolution: - { - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, - } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true /log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: chalk: 4.1.0 is-unicode-supported: 0.1.0 dev: true /log-update@4.0.0: - resolution: - { - integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 @@ -16257,28 +10858,13 @@ packages: dev: true /longest@2.0.1: - resolution: - { - integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==, - } - engines: { node: '>=0.10.0' } - dev: true - - /loupe@2.3.6: - resolution: - { - integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==, - } - dependencies: - get-func-name: 2.0.0 + resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} + engines: {node: '>=0.10.0'} dev: true /lowdb@1.0.0: - resolution: - { - integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.9 is-promise: 2.2.2 @@ -16288,148 +10874,86 @@ packages: dev: true /lower-case@2.0.2: - resolution: - { - integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, - } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.1 dev: true /lowercase-keys@2.0.0: - resolution: - { - integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} dev: true /lru-cache@10.0.1: - resolution: - { - integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==, - } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} dev: true /lru-cache@4.1.5: - resolution: - { - integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==, - } + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 dev: true /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true /lru-cache@7.14.0: - resolution: - { - integrity: sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==} + engines: {node: '>=12'} dev: true /lru-queue@0.1.0: - resolution: - { - integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==, - } + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} dependencies: es5-ext: 0.10.62 dev: true /lunr-mutable-indexes@2.3.2: - resolution: - { - integrity: sha512-Han6cdWAPPFM7C2AigS2Ofl3XjAT0yVMrUixodJEpyg71zCtZ2yzXc3s+suc/OaNt4ca6WJBEzVnEIjxCTwFMw==, - } + resolution: {integrity: sha512-Han6cdWAPPFM7C2AigS2Ofl3XjAT0yVMrUixodJEpyg71zCtZ2yzXc3s+suc/OaNt4ca6WJBEzVnEIjxCTwFMw==} dependencies: lunr: 2.3.9 dev: true /lunr@2.3.9: - resolution: - { - integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==, - } - dev: true - - /magic-string-ast@0.3.0: - resolution: - { - integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==, - } - engines: { node: '>=16.14.0' } - dependencies: - magic-string: 0.30.3 - dev: true - - /magic-string@0.27.0: - resolution: - { - integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, - } - engines: { node: '>=12' } - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} dev: true /magic-string@0.30.0: - resolution: - { - integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.1: - resolution: - { - integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.3: - resolution: - { - integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@2.1.0: - resolution: - { - integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} requiresBuild: true dependencies: pify: 4.0.1 @@ -16438,81 +10962,54 @@ packages: optional: true /make-dir@3.1.0: - resolution: - { - integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: true /make-error@1.3.6: - resolution: - { - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, - } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true /makeerror@1.0.12: - resolution: - { - integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, - } + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 dev: true /mark.js@8.11.1: - resolution: - { - integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==, - } + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} dev: true /marked@4.2.2: - resolution: - { - integrity: sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ==} + engines: {node: '>= 12'} hasBin: true dev: true /mdn-data@2.0.28: - resolution: - { - integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==, - } + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} dev: true /mdn-data@2.0.30: - resolution: - { - integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==, - } + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true /media-typer@0.3.0: - resolution: { integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= } - engines: { node: '>= 0.6' } + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + engines: {node: '>= 0.6'} dev: true /memfs@3.5.3: - resolution: - { - integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} dependencies: fs-monkey: 1.0.4 dev: true /memoizee@0.4.15: - resolution: - { - integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==, - } + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} dependencies: d: 1.0.1 es5-ext: 0.10.62 @@ -16525,170 +11022,95 @@ packages: dev: true /memory-fs@0.5.0: - resolution: - { - integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==, - } - engines: { node: '>=4.3.0 <5.0.0 || >=5.10' } + resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} dependencies: errno: 0.1.8 readable-stream: 2.3.8 dev: true - /merge-anything@5.1.4: - resolution: - { - integrity: sha512-7PWKwGOs5WWcpw+/OvbiFiAvEP6bv/QHiicigpqMGKIqPPAtGhBLR8LFJW+Zu6m9TXiR/a8+AiPlGG0ko1ruoQ==, - } - engines: { node: '>=12.13' } - dependencies: - is-what: 4.1.8 - dev: true - /merge-descriptors@1.0.1: - resolution: { integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= } + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: true /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true /merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} dev: true /merge@2.1.1: - resolution: - { - integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==, - } + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} dev: true /methods@1.1.2: - resolution: - { - integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} dev: true /micromatch@4.0.5: - resolution: - { - integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 dev: true /mime-db@1.51.0: - resolution: - { - integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} + engines: {node: '>= 0.6'} dev: true /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: true /mime-types@2.1.34: - resolution: - { - integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.51.0 dev: true /mime@1.6.0: - resolution: - { - integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, - } - engines: { node: '>=4' } - hasBin: true - dev: true - - /mime@2.5.2: - resolution: - { - integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} hasBin: true dev: true /mime@3.0.0: - resolution: - { - integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} hasBin: true dev: true /mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} dev: true /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} dev: true /mimic-response@1.0.1: - resolution: - { - integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} dev: true /mimic-response@3.1.0: - resolution: - { - integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, - } - engines: { node: '>=10' } - dev: true - - /min-indent@1.0.1: - resolution: - { - integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} dev: true /mini-css-extract-plugin@2.4.7(webpack@5.88.2): - resolution: - { - integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==} + engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: @@ -16697,11 +11119,8 @@ packages: dev: true /mini-css-extract-plugin@2.7.6(webpack@5.88.2): - resolution: - { - integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} + engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: @@ -16710,126 +11129,78 @@ packages: dev: true /minimalistic-assert@1.0.1: - resolution: - { - integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==, - } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true /minimatch@3.0.5: - resolution: - { - integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@3.0.8: - resolution: - { - integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==, - } + resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} dependencies: brace-expansion: 1.1.11 dev: true /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true /minimatch@5.1.0: - resolution: - { - integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true /minimist@1.2.7: - resolution: - { - integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==, - } + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} dev: true /minipass@3.1.6: - resolution: - { - integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==} + engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: true /minipass@5.0.0: - resolution: - { - integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: true /minisearch@6.1.0: - resolution: - { - integrity: sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==, - } + resolution: {integrity: sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==} dev: true /minizlib@2.1.2: - resolution: - { - integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: minipass: 3.1.6 yallist: 4.0.0 dev: true /mkdirp@0.5.5: - resolution: - { - integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==, - } + resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true dependencies: minimist: 1.2.7 dev: true /mkdirp@1.0.4: - resolution: - { - integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true dev: true /mlly@1.4.1: - resolution: - { - integrity: sha512-SCDs78Q2o09jiZiE2WziwVBEqXQ02XkGdUy45cbJf+BpYRIjArXRJ1Wbowxkb+NaM9DWvS3UC9GiO/6eqvQ/pg==, - } + resolution: {integrity: sha512-SCDs78Q2o09jiZiE2WziwVBEqXQ02XkGdUy45cbJf+BpYRIjArXRJ1Wbowxkb+NaM9DWvS3UC9GiO/6eqvQ/pg==} dependencies: acorn: 8.10.0 pathe: 1.1.1 @@ -16838,47 +11209,29 @@ packages: dev: true /mri@1.2.0: - resolution: - { - integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: true /mrmime@1.0.1: - resolution: - { - integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} dev: true /ms@2.0.0: - resolution: - { - integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, - } + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true /ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /multicast-dns@7.2.5: - resolution: - { - integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==, - } + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: dns-packet: 5.3.1 @@ -16886,11 +11239,8 @@ packages: dev: true /multimatch@4.0.0: - resolution: - { - integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==} + engines: {node: '>=8'} dependencies: '@types/minimatch': 3.0.5 array-differ: 3.0.0 @@ -16900,18 +11250,12 @@ packages: dev: true /mute-stream@0.0.8: - resolution: - { - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==, - } + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true /mv@2.1.1: - resolution: - { - integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} + engines: {node: '>=0.8.0'} dependencies: mkdirp: 0.5.5 ncp: 2.0.0 @@ -16919,58 +11263,27 @@ packages: dev: true /nanoid@3.3.6: - resolution: - { - integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /nanoid@4.0.2: - resolution: - { - integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==, - } - engines: { node: ^14 || ^16 || >=18 } + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /napi-wasm@1.1.0: - resolution: - { - integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==, - } - dev: true - /natural-compare-lite@1.4.0: - resolution: - { - integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, - } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /ncp@2.0.0: - resolution: - { - integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==, - } + resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==} hasBin: true dev: true /needle@3.1.0: - resolution: - { - integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==, - } - engines: { node: '>= 4.4.x' } + resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==} + engines: {node: '>= 4.4.x'} hasBin: true requiresBuild: true dependencies: @@ -16983,32 +11296,20 @@ packages: optional: true /negotiator@0.6.3: - resolution: - { - integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} dev: true /neo-async@2.6.2: - resolution: - { - integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, - } + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true /next-tick@1.1.0: - resolution: - { - integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==, - } + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: true /nice-napi@1.0.2: - resolution: - { - integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==, - } + resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} os: ['!win32'] requiresBuild: true dependencies: @@ -17017,147 +11318,28 @@ packages: dev: true optional: true - /nitropack@2.5.2: - resolution: - { - integrity: sha512-hXEHY9NJmOOETFFTPCBB9PB0+txoAbU/fB2ovUF6UMRo4ucQZztYnZdX+YSxa6FVz6eONvcxXvf9/9s6t08KWw==, - } - engines: { node: ^14.16.0 || ^16.11.0 || >=17.0.0 } - hasBin: true - dependencies: - '@cloudflare/kv-asset-handler': 0.3.0 - '@netlify/functions': 1.6.0 - '@rollup/plugin-alias': 5.0.0(rollup@3.28.1) - '@rollup/plugin-commonjs': 25.0.4(rollup@3.28.1) - '@rollup/plugin-inject': 5.0.3(rollup@3.28.1) - '@rollup/plugin-json': 6.0.0(rollup@3.28.1) - '@rollup/plugin-node-resolve': 15.2.1(rollup@3.28.1) - '@rollup/plugin-replace': 5.0.2(rollup@3.28.1) - '@rollup/plugin-terser': 0.4.3(rollup@3.28.1) - '@rollup/plugin-wasm': 6.1.3(rollup@3.28.1) - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - '@types/http-proxy': 1.17.11 - '@vercel/nft': 0.22.6 - archiver: 5.3.2 - c12: 1.4.2 - chalk: 5.3.0 - chokidar: 3.5.3 - citty: 0.1.2 - consola: 3.2.3 - cookie-es: 1.0.0 - defu: 6.1.2 - destr: 2.0.1 - dot-prop: 7.2.0 - esbuild: 0.18.20 - escape-string-regexp: 5.0.0 - etag: 1.8.1 - fs-extra: 11.1.1 - globby: 13.2.2 - gzip-size: 7.0.0 - h3: 1.8.0 - hookable: 5.5.3 - http-graceful-shutdown: 3.1.13 - http-proxy: 1.18.1 - is-primitive: 3.0.1 - jiti: 1.19.3 - klona: 2.0.6 - knitwork: 1.0.0 - listhen: 1.3.0 - magic-string: 0.30.3 - mime: 3.0.0 - mlly: 1.4.1 - mri: 1.2.0 - node-fetch-native: 1.3.3 - ofetch: 1.2.1 - ohash: 1.1.3 - openapi-typescript: 6.5.3 - pathe: 1.1.1 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - pretty-bytes: 6.1.1 - radix3: 1.1.0 - rollup: 3.28.1 - rollup-plugin-visualizer: 5.9.2(rollup@3.28.1) - scule: 1.0.0 - semver: 7.5.4 - serve-placeholder: 2.0.1 - serve-static: 1.15.0 - source-map-support: 0.5.21 - std-env: 3.4.3 - ufo: 1.3.0 - uncrypto: 0.1.3 - unenv: 1.7.3 - unimport: 3.2.0(rollup@3.28.1) - unstorage: 1.9.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/kv' - - debug - - encoding - - idb-keyval - - supports-color - dev: true - /no-case@3.0.4: - resolution: - { - integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, - } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.1 dev: true /node-abort-controller@3.0.1: - resolution: - { - integrity: sha512-/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==, - } + resolution: {integrity: sha512-/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==} dev: true /node-addon-api@3.2.1: - resolution: - { - integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==, - } - dev: true - - /node-addon-api@7.0.0: - resolution: - { - integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==, - } - dev: true - - /node-domexception@1.0.0: - resolution: - { - integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, - } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} dev: true /node-fetch-native@1.3.3: - resolution: - { - integrity: sha512-dw7R7GkbPkgC2jfEtJjvF2t3eJ/2+Pj1crKjbowhgnkMsuehYx6LUvfDG4FmWX20KYddJCZbQG8kZE9LNrf5GQ==, - } + resolution: {integrity: sha512-dw7R7GkbPkgC2jfEtJjvF2t3eJ/2+Pj1crKjbowhgnkMsuehYx6LUvfDG4FmWX20KYddJCZbQG8kZE9LNrf5GQ==} dev: true /node-fetch@2.6.13: - resolution: - { - integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==, - } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -17168,11 +11350,8 @@ packages: dev: true /node-fetch@2.6.7: - resolution: - { - integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, - } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -17182,96 +11361,46 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch@3.3.2: - resolution: - { - integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: true - /node-forge@1.3.1: - resolution: - { - integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==, - } - engines: { node: '>= 6.13.0' } + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} dev: true /node-gyp-build@4.6.0: - resolution: - { - integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==, - } + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true dev: true /node-int64@0.4.0: - resolution: - { - integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, - } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true /node-machine-id@1.1.12: - resolution: - { - integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, - } + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} dev: true /node-releases@2.0.13: - resolution: - { - integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==, - } - dev: true - - /nopt@5.0.0: - resolution: - { - integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==, - } - engines: { node: '>=6' } - hasBin: true - dependencies: - abbrev: 1.1.1 + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true /normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} dev: true /normalize-range@0.1.2: - resolution: - { - integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} dev: true /normalize-url@6.1.0: - resolution: - { - integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} dev: true /npm-package-arg@11.0.1: - resolution: - { - integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==, - } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 proc-log: 3.0.0 @@ -17280,178 +11409,38 @@ packages: dev: true /npm-run-path@2.0.2: - resolution: - { - integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} dependencies: path-key: 2.0.1 dev: true /npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: true /npm-run-path@5.1.0: - resolution: - { - integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: true - /npmlog@5.0.1: - resolution: - { - integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==, - } - dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - dev: true - /nth-check@2.0.1: - resolution: - { - integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==, - } + resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} dependencies: boolbase: 1.0.0 dev: true - /nuxi@3.6.5: - resolution: - { - integrity: sha512-4XEXYz71UiWWiKC1/cJCzqRSUEImYRmjcvKpSsBKMU58ALYVSx5KIoas5SwLO8tEKO5BS4DAe4u7MYix7hfuHQ==, - } - engines: { node: ^14.18.0 || >=16.10.0 } - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /nuxt@3.6.5(@types/node@18.15.3)(eslint@8.46.0)(less@4.1.3)(stylus@0.59.0)(typescript@5.1.6): - resolution: - { - integrity: sha512-0A7V8B1HrIXX9IlqPc2w+5ZPXi+7MYa9QVhtuGYuLvjRKoSFANhCoMPRP6pKdoxigM1MBxhLue2VmHA/VbtJCw==, - } - engines: { node: ^14.18.0 || >=16.10.0 } - hasBin: true - peerDependencies: - '@parcel/watcher': ^2.1.0 - '@types/node': ^14.18.0 || >=16.10.0 - peerDependenciesMeta: - '@parcel/watcher': - optional: true - dependencies: - '@nuxt/devalue': 2.0.2 - '@nuxt/kit': 3.6.5 - '@nuxt/schema': 3.6.5 - '@nuxt/telemetry': 2.4.1 - '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.6.5(@types/node@18.15.3)(eslint@8.46.0)(less@4.1.3)(stylus@0.59.0)(typescript@5.1.6)(vue@3.3.4) - '@types/node': 18.15.3 - '@unhead/ssr': 1.3.5 - '@unhead/vue': 1.3.5(vue@3.3.4) - '@vue/shared': 3.3.4 - acorn: 8.10.0 - c12: 1.4.2 - chokidar: 3.5.3 - cookie-es: 1.0.0 - defu: 6.1.2 - destr: 2.0.1 - devalue: 4.3.2 - esbuild: 0.18.20 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - fs-extra: 11.1.1 - globby: 13.2.2 - h3: 1.8.0 - hookable: 5.5.3 - jiti: 1.19.3 - klona: 2.0.6 - knitwork: 1.0.0 - local-pkg: 0.4.3 - magic-string: 0.30.3 - mlly: 1.4.1 - nitropack: 2.5.2 - nuxi: 3.6.5 - nypm: 0.2.2 - ofetch: 1.2.1 - ohash: 1.1.3 - pathe: 1.1.1 - perfect-debounce: 1.0.0 - prompts: 2.4.2 - scule: 1.0.0 - strip-literal: 1.3.0 - ufo: 1.3.0 - ultrahtml: 1.3.0 - uncrypto: 0.1.3 - unctx: 2.3.1 - unenv: 1.7.3 - unimport: 3.2.0(rollup@3.28.1) - unplugin: 1.4.0 - unplugin-vue-router: 0.6.4(vue-router@4.2.4)(vue@3.3.4) - untyped: 1.4.0 - vue: 3.3.4 - vue-bundle-renderer: 1.0.3 - vue-devtools-stub: 0.1.0 - vue-router: 4.2.4(vue@3.3.4) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/kv' - - debug - - encoding - - eslint - - idb-keyval - - less - - lightningcss - - meow - - optionator - - rollup - - sass - - stylelint - - stylus - - sugarss - - supports-color - - terser - - typescript - - vls - - vti - - vue-tsc - dev: true - /nwsapi@2.2.4: - resolution: - { - integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==, - } + resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} dev: true /nx-cloud@16.4.0: - resolution: - { - integrity: sha512-jbq4hWvDwRlJVpxgMgbmNSkue+6XZSn53R6Vo6qmCAWODJ9KY1BZdZ/9VRL8IX/BRKebVFiXp3SapFB1qPhH8A==, - } + resolution: {integrity: sha512-jbq4hWvDwRlJVpxgMgbmNSkue+6XZSn53R6Vo6qmCAWODJ9KY1BZdZ/9VRL8IX/BRKebVFiXp3SapFB1qPhH8A==} hasBin: true dependencies: '@nrwl/nx-cloud': 16.4.0 @@ -17469,10 +11458,7 @@ packages: dev: true /nx@16.10.0(@swc-node/register@1.6.8)(@swc/core@1.3.91): - resolution: - { - integrity: sha512-gZl4iCC0Hx0Qe1VWmO4Bkeul2nttuXdPpfnlcDKSACGu3ZIo+uySqwOF8yBAxSTIf8xe2JRhgzJN1aFkuezEBg==, - } + resolution: {integrity: sha512-gZl4iCC0Hx0Qe1VWmO4Bkeul2nttuXdPpfnlcDKSACGu3ZIo+uySqwOF8yBAxSTIf8xe2JRhgzJN1aFkuezEBg==} hasBin: true requiresBuild: true peerDependencies: @@ -17537,159 +11523,81 @@ packages: - debug dev: true - /nypm@0.2.2: - resolution: - { - integrity: sha512-O7bumfWgUXlJefT1Y41SF4vsCvzeUYmnKABuOKStheCObzrkWPDmqJc+RJVU+57oFu9bITcrUq8sKFIHgjCnTg==, - } - engines: { node: ^14.16.0 || >=16.10.0 } - dependencies: - execa: 7.2.0 - dev: true - /oauth-sign@0.9.0: - resolution: - { - integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==, - } + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} dev: true /object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} dev: true /object-inspect@1.12.3: - resolution: - { - integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==, - } + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: true /object-path@0.11.8: - resolution: - { - integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==, - } - engines: { node: '>= 10.12.0' } + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} dev: true /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - dev: true - - /ofetch@1.2.1: - resolution: - { - integrity: sha512-WEX1TEfGuAFJhzRW6Qv9RcxCyek+YogEeXlCWl1XoqBSW2fc6jU4LTk3VotwC1YfXv8Uz06LSofU6uW/ZIT+6g==, - } - dependencies: - destr: 2.0.1 - node-fetch-native: 1.3.3 - ufo: 1.3.0 + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true /ohash@1.1.3: - resolution: - { - integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==, - } + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} dev: true /on-finished@2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: true /on-headers@1.0.2: - resolution: - { - integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} dev: true /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true /onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 dev: true /open@8.4.2: - resolution: - { - integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 dev: true - /openapi-typescript@6.5.3: - resolution: - { - integrity: sha512-iVOgf1wf/6R73Cg9wcxMAD/P3+/TJ8HQruLyv3WRDu29Pwnmp7ZUJ897Kb401jW7Ao/L4JjisropHQJW62BXtA==, - } - hasBin: true - dependencies: - ansi-colors: 4.1.3 - fast-glob: 3.3.1 - js-yaml: 4.1.0 - supports-color: 9.4.0 - undici: 5.23.0 - yargs-parser: 21.1.1 - dev: true - /opener@1.5.2: - resolution: - { - integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==, - } + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true dev: true /optionator@0.8.3: - resolution: - { - integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -17700,11 +11608,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -17715,11 +11620,8 @@ packages: dev: true /ora@5.3.0: - resolution: - { - integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} dependencies: bl: 4.1.0 chalk: 4.1.0 @@ -17732,11 +11634,8 @@ packages: dev: true /ora@5.4.1: - resolution: - { - integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} dependencies: bl: 4.1.0 chalk: 4.1.0 @@ -17750,170 +11649,108 @@ packages: dev: true /os-filter-obj@2.0.0: - resolution: - { - integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} + engines: {node: '>=4'} dependencies: arch: 2.2.0 dev: true /os-homedir@1.0.2: - resolution: - { - integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} dev: true /os-tmpdir@1.0.2: - resolution: - { - integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /p-cancelable@2.1.1: - resolution: - { - integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} dev: true /p-finally@1.0.0: - resolution: - { - integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} dev: true /p-limit@2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: - { - integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: - { - integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 dev: true /p-map@4.0.0: - resolution: - { - integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 dev: true /p-retry@4.6.1: - resolution: - { - integrity: sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==} + engines: {node: '>=8'} dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: true /p-try@2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /pako@1.0.11: - resolution: - { - integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==, - } + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: true /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: true - /parse-git-config@3.0.0: - resolution: - { - integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==, - } - engines: { node: '>=8' } - dependencies: - git-config-path: 2.0.0 - ini: 1.3.8 - dev: true - /parse-json@5.2.0: - resolution: - { - integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.22.10 error-ex: 1.3.2 @@ -17922,52 +11759,22 @@ packages: dev: true /parse-ms@2.1.0: - resolution: - { - integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: true /parse-node-version@1.0.1: - resolution: - { - integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} dev: true /parse-passwd@1.0.0: - resolution: - { - integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} dev: true - /parse-path@7.0.0: - resolution: - { - integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==, - } - dependencies: - protocols: 2.0.1 - dev: true - - /parse-url@8.1.0: - resolution: - { - integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==, - } - dependencies: - parse-path: 7.0.0 - dev: true - - /parse5-html-rewriting-stream@7.0.0: - resolution: - { - integrity: sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==, - } + /parse5-html-rewriting-stream@7.0.0: + resolution: {integrity: sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==} dependencies: entities: 4.5.0 parse5: 7.1.2 @@ -17975,241 +11782,139 @@ packages: dev: true /parse5-sax-parser@7.0.0: - resolution: - { - integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==, - } + resolution: {integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==} dependencies: parse5: 7.1.2 dev: true /parse5@4.0.0: - resolution: - { - integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==, - } + resolution: {integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==} dev: true /parse5@6.0.1: - resolution: - { - integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, - } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /parse5@7.1.2: - resolution: - { - integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==, - } + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: entities: 4.5.0 dev: true /parseurl@1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} dev: true /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-exists@5.0.0: - resolution: - { - integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} dev: true /path-key@2.0.1: - resolution: - { - integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} dev: true /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} dev: true /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} dev: true /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true /path-to-regexp@0.1.7: - resolution: - { - integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, - } + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true /path-type@4.0.0: - resolution: - { - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} dev: true /pathe@1.1.1: - resolution: - { - integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true /peek-readable@5.0.0: - resolution: - { - integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} + engines: {node: '>=14.16'} dev: true /pegjs@0.10.0: - resolution: - { - integrity: sha512-qI5+oFNEGi3L5HAxDwN2LA4Gg7irF70Zs25edhjld9QemOgp0CbvMtbFcMvFtEo1OityPrcCzkQFB8JP/hxgow==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-qI5+oFNEGi3L5HAxDwN2LA4Gg7irF70Zs25edhjld9QemOgp0CbvMtbFcMvFtEo1OityPrcCzkQFB8JP/hxgow==} + engines: {node: '>=0.10'} hasBin: true dev: true /perfect-debounce@1.0.0: - resolution: - { - integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==, - } + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} dev: true /performance-now@2.1.0: - resolution: - { - integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==, - } - dev: true - - /periscopic@3.1.0: - resolution: - { - integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==, - } - dependencies: - '@types/estree': 1.0.0 - estree-walker: 3.0.3 - is-reference: 3.0.2 + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} dev: true /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true /picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} dev: true /pidtree@0.6.0: - resolution: - { - integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true dev: true /pify@2.3.0: - resolution: - { - integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} dev: true /pify@3.0.0: - resolution: - { - integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} dev: true /pify@4.0.1: - resolution: - { - integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} requiresBuild: true dev: true optional: true /pify@5.0.0: - resolution: - { - integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} + engines: {node: '>=10'} dev: true /pino-std-serializers@3.2.0: - resolution: - { - integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==, - } + resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==} dev: true /pino@6.14.0: - resolution: - { - integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==, - } + resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==} hasBin: true dependencies: fast-redact: 3.1.1 @@ -18222,18 +11927,12 @@ packages: dev: true /pirates@4.0.5: - resolution: - { - integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} dev: true /piscina@4.0.0: - resolution: - { - integrity: sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==, - } + resolution: {integrity: sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==} dependencies: eventemitter-asyncresource: 1.0.0 hdr-histogram-js: 2.0.3 @@ -18243,30 +11942,21 @@ packages: dev: true /pkg-dir@4.2.0: - resolution: - { - integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: - { - integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 dev: true /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.1 @@ -18274,19 +11964,13 @@ packages: dev: true /pkginfo@0.4.1: - resolution: - { - integrity: sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==, - } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==} + engines: {node: '>= 0.4.0'} dev: true /portfinder@1.0.28: - resolution: - { - integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==, - } - engines: { node: '>= 0.12.0' } + resolution: {integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==} + engines: {node: '>= 0.12.0'} dependencies: async: 2.6.4 debug: 3.2.7 @@ -18296,11 +11980,8 @@ packages: dev: true /postcss-calc@9.0.1(postcss@8.4.28): - resolution: - { - integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: @@ -18310,11 +11991,8 @@ packages: dev: true /postcss-colormin@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18326,11 +12004,8 @@ packages: dev: true /postcss-convert-values@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18340,11 +12015,8 @@ packages: dev: true /postcss-discard-comments@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18352,11 +12024,8 @@ packages: dev: true /postcss-discard-duplicates@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18364,11 +12033,8 @@ packages: dev: true /postcss-discard-empty@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18376,11 +12042,8 @@ packages: dev: true /postcss-discard-overridden@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18388,35 +12051,14 @@ packages: dev: true /postcss-import-resolver@2.0.0: - resolution: - { - integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==, - } + resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==} dependencies: enhanced-resolve: 4.5.0 dev: true /postcss-import@14.1.0(postcss@8.4.28): - resolution: - { - integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==, - } - engines: { node: '>=10.0.0' } - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.28 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.4 - dev: true - - /postcss-import@15.1.0(postcss@8.4.28): - resolution: - { - integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: @@ -18427,11 +12069,8 @@ packages: dev: true /postcss-loader@6.2.1(postcss@8.4.28)(webpack@5.88.2): - resolution: - { - integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} + engines: {node: '>= 12.13.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 @@ -18444,11 +12083,8 @@ packages: dev: true /postcss-loader@7.3.3(postcss@8.4.27)(webpack@5.88.2): - resolution: - { - integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} + engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 @@ -18461,11 +12097,8 @@ packages: dev: true /postcss-merge-longhand@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18475,11 +12108,8 @@ packages: dev: true /postcss-merge-rules@6.0.1(postcss@8.4.28): - resolution: - { - integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18491,11 +12121,8 @@ packages: dev: true /postcss-minify-font-values@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18504,11 +12131,8 @@ packages: dev: true /postcss-minify-gradients@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18519,11 +12143,8 @@ packages: dev: true /postcss-minify-params@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18534,11 +12155,8 @@ packages: dev: true /postcss-minify-selectors@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18547,11 +12165,8 @@ packages: dev: true /postcss-modules-extract-imports@3.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==, - } - engines: { node: ^10 || ^12 || >= 14 } + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: @@ -18559,11 +12174,8 @@ packages: dev: true /postcss-modules-local-by-default@4.0.3(postcss@8.4.28): - resolution: - { - integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==, - } - engines: { node: ^10 || ^12 || >= 14 } + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: @@ -18574,11 +12186,8 @@ packages: dev: true /postcss-modules-scope@3.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==, - } - engines: { node: ^10 || ^12 || >= 14 } + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: @@ -18587,11 +12196,8 @@ packages: dev: true /postcss-modules-values@4.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==, - } - engines: { node: ^10 || ^12 || >= 14 } + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: @@ -18600,11 +12206,8 @@ packages: dev: true /postcss-normalize-charset@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18612,11 +12215,8 @@ packages: dev: true /postcss-normalize-display-values@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18625,11 +12225,8 @@ packages: dev: true /postcss-normalize-positions@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18638,11 +12235,8 @@ packages: dev: true /postcss-normalize-repeat-style@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18651,11 +12245,8 @@ packages: dev: true /postcss-normalize-string@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18664,11 +12255,8 @@ packages: dev: true /postcss-normalize-timing-functions@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18677,11 +12265,8 @@ packages: dev: true /postcss-normalize-unicode@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18691,11 +12276,8 @@ packages: dev: true /postcss-normalize-url@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18704,11 +12286,8 @@ packages: dev: true /postcss-normalize-whitespace@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18717,11 +12296,8 @@ packages: dev: true /postcss-ordered-values@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18731,11 +12307,8 @@ packages: dev: true /postcss-reduce-initial@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18745,11 +12318,8 @@ packages: dev: true /postcss-reduce-transforms@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18758,22 +12328,16 @@ packages: dev: true /postcss-selector-parser@6.0.13: - resolution: - { - integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true /postcss-svgo@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==, - } - engines: { node: ^14 || ^16 || >= 18 } + resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} + engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18783,11 +12347,8 @@ packages: dev: true /postcss-unique-selectors@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -18795,35 +12356,13 @@ packages: postcss-selector-parser: 6.0.13 dev: true - /postcss-url@10.1.3(postcss@8.4.28): - resolution: - { - integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==, - } - engines: { node: '>=10' } - peerDependencies: - postcss: ^8.0.0 - dependencies: - make-dir: 3.1.0 - mime: 2.5.2 - minimatch: 3.0.8 - postcss: 8.4.28 - xxhashjs: 0.2.2 - dev: true - /postcss-value-parser@4.2.0: - resolution: - { - integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, - } + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true /postcss@8.4.27: - resolution: - { - integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 @@ -18831,11 +12370,8 @@ packages: dev: true /postcss@8.4.28: - resolution: - { - integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 @@ -18843,66 +12379,37 @@ packages: dev: true /preact@10.11.2: - resolution: - { - integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==, - } + resolution: {integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==} dev: true /prelude-ls@1.1.2: - resolution: - { - integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} dev: true /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier-bytes@1.0.4: - resolution: - { - integrity: sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ==, - } + resolution: {integrity: sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ==} dev: true /prettier@2.7.1: - resolution: - { - integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + engines: {node: '>=10.13.0'} hasBin: true dev: true /pretty-bytes@5.6.0: - resolution: - { - integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==, - } - engines: { node: '>=6' } - dev: true - - /pretty-bytes@6.1.1: - resolution: - { - integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==, - } - engines: { node: ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} dev: true /pretty-format@29.6.3: - resolution: - { - integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -18910,21 +12417,15 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { - integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: true /pretty-quick@3.1.3(prettier@2.7.1): - resolution: - { - integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==, - } - engines: { node: '>=10.13' } + resolution: {integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==} + engines: {node: '>=10.13'} hasBin: true peerDependencies: prettier: '>=2.0.0' @@ -18939,194 +12440,114 @@ packages: dev: true /proc-log@3.0.0: - resolution: - { - integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /process-nextick-args@2.0.1: - resolution: - { - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, - } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true /process-warning@1.0.0: - resolution: - { - integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==, - } + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} dev: true /prompts@2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: true - /protocols@2.0.1: - resolution: - { - integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==, - } - dev: true - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 dev: true /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true /prr@1.0.1: - resolution: - { - integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, - } + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} requiresBuild: true dev: true /pseudomap@1.0.2: - resolution: - { - integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==, - } + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true /psl@1.9.0: - resolution: - { - integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==, - } + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true /punycode@1.4.1: - resolution: - { - integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==, - } + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true /punycode@2.1.1: - resolution: - { - integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} dev: true /pure-rand@6.0.2: - resolution: - { - integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==, - } + resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} dev: true /qs@6.11.0: - resolution: - { - integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: true /qs@6.5.3: - resolution: - { - integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} dev: true /querystringify@2.2.0: - resolution: - { - integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==, - } + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} dev: true /quick-lru@5.1.1: - resolution: - { - integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, - } - engines: { node: '>=10' } - dev: true - - /radix3@1.1.0: - resolution: - { - integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==, - } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} dev: true /randombytes@2.1.0: - resolution: - { - integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, - } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /range-parser@1.2.1: - resolution: - { - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} dev: true /raw-body@2.5.1: - resolution: - { - integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 http-errors: 2.0.0 @@ -19135,10 +12556,7 @@ packages: dev: true /rc9@2.1.1: - resolution: - { - integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==, - } + resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} dependencies: defu: 6.1.2 destr: 2.0.1 @@ -19146,26 +12564,17 @@ packages: dev: true /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /read-cache@1.0.0: - resolution: - { - integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==, - } + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 dev: true /readable-stream@2.3.8: - resolution: - { - integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, - } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -19177,11 +12586,8 @@ packages: dev: true /readable-stream@3.6.0: - resolution: - { - integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 @@ -19189,105 +12595,51 @@ packages: dev: true /readable-web-to-node-stream@3.0.2: - resolution: - { - integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} + engines: {node: '>=8'} dependencies: readable-stream: 3.6.0 dev: true - /readdir-glob@1.1.3: - resolution: - { - integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==, - } - dependencies: - minimatch: 5.1.6 - dev: true - /readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 dev: true - /redis-errors@1.2.0: - resolution: - { - integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==, - } - engines: { node: '>=4' } - dev: true - - /redis-parser@3.0.0: - resolution: - { - integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==, - } - engines: { node: '>=4' } - dependencies: - redis-errors: 1.2.0 - dev: true - /reflect-metadata@0.1.13: - resolution: - { - integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==, - } + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: true /regenerate-unicode-properties@10.1.0: - resolution: - { - integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: - { - integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==, - } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime@0.13.11: - resolution: - { - integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, - } + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true /regenerator-transform@0.15.1: - resolution: - { - integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==, - } + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: '@babel/runtime': 7.22.6 dev: true /regex-parser@2.2.11: - resolution: - { - integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==, - } + resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} dev: true /regexpu-core@5.3.2: - resolution: - { - integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -19298,21 +12650,15 @@ packages: dev: true /regjsparser@0.9.1: - resolution: - { - integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==, - } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /request@2.88.0: - resolution: - { - integrity: sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==} + engines: {node: '>= 4'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 dependencies: aws-sign2: 0.7.0 @@ -19338,85 +12684,55 @@ packages: dev: true /require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} dev: true /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: true /require-main-filename@2.0.0: - resolution: - { - integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, - } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /requires-port@1.0.0: - resolution: - { - integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==, - } + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true /resolve-alpn@1.2.1: - resolution: - { - integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==, - } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: true /resolve-cwd@3.0.0: - resolution: - { - integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: true /resolve-dir@1.0.1: - resolution: - { - integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==, - } - engines: { node: '>=0.10.0' } + 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@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} dev: true /resolve-from@5.0.0: - resolution: - { - integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} dev: true /resolve-global@1.0.0: - resolution: - { - integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} requiresBuild: true dependencies: global-dirs: 0.1.1 @@ -19424,11 +12740,8 @@ packages: optional: true /resolve-url-loader@5.0.0: - resolution: - { - integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} + engines: {node: '>=12'} dependencies: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.8.0 @@ -19438,26 +12751,17 @@ packages: dev: true /resolve.exports@1.1.0: - resolution: - { - integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + engines: {node: '>=10'} dev: true /resolve.exports@2.0.2: - resolution: - { - integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} dev: true /resolve@1.22.4: - resolution: - { - integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==, - } + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true dependencies: is-core-module: 2.13.0 @@ -19466,193 +12770,100 @@ packages: dev: true /responselike@2.0.1: - resolution: - { - integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==, - } + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: lowercase-keys: 2.0.0 dev: true /restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /retry@0.13.1: - resolution: - { - integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} dev: true /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true /rfdc@1.3.0: - resolution: - { - integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, - } + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true /rimraf@2.4.5: - resolution: - { - integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==, - } + resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} hasBin: true dependencies: glob: 6.0.4 dev: true /rimraf@2.6.3: - resolution: - { - integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /rimraf@2.7.1: - resolution: - { - integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, - } + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} hasBin: true dependencies: glob: 7.2.3 dev: true /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup-plugin-visualizer@5.9.2(rollup@3.28.1): - resolution: - { - integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==, - } - engines: { node: '>=14' } - hasBin: true - peerDependencies: - rollup: 2.x || 3.x - peerDependenciesMeta: - rollup: - optional: true - dependencies: - open: 8.4.2 - picomatch: 2.3.1 - rollup: 3.28.1 - source-map: 0.7.4 - yargs: 17.7.2 - dev: true - /rollup@3.28.1: - resolution: - { - integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==, - } - engines: { node: '>=14.18.0', npm: '>=8.0.0' } + resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true /run-async@2.4.1: - resolution: - { - integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} dev: true /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true /rxjs@6.6.7: - resolution: - { - integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==, - } - engines: { npm: '>=2.0.0' } + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} dependencies: tslib: 1.14.1 dev: true /rxjs@7.8.1: - resolution: - { - integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==, - } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.5.2 /safe-buffer@5.1.2: - resolution: - { - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, - } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true /safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } - dev: true - - /sander@0.5.1: - resolution: - { - integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==, - } - dependencies: - es6-promise: 3.3.1 - graceful-fs: 4.2.9 - mkdirp: 0.5.5 - rimraf: 2.7.1 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /sass-loader@12.6.0(sass@1.64.1)(webpack@5.88.2): - resolution: - { - integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} + engines: {node: '>= 12.13.0'} peerDependencies: fibers: '>= 3.1.0' node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -19676,11 +12887,8 @@ packages: dev: true /sass-loader@13.3.2(sass@1.64.1)(webpack@5.88.2): - resolution: - { - integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} + engines: {node: '>= 14.15.0'} peerDependencies: fibers: '>= 3.1.0' node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -19703,11 +12911,8 @@ packages: dev: true /sass@1.64.1: - resolution: - { - integrity: sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 @@ -19716,38 +12921,26 @@ packages: dev: true /sax@1.2.4: - resolution: - { - integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==, - } + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: true /saxes@5.0.1: - resolution: - { - integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} dependencies: xmlchars: 2.2.0 dev: true /saxes@6.0.0: - resolution: - { - integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==, - } - engines: { node: '>=v12.22.7' } + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 dev: true /schema-utils@3.3.0: - resolution: - { - integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==, - } - engines: { node: '>= 10.13.0' } + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} dependencies: '@types/json-schema': 7.0.9 ajv: 6.12.6 @@ -19755,11 +12948,8 @@ packages: dev: true /schema-utils@4.2.0: - resolution: - { - integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} dependencies: '@types/json-schema': 7.0.9 ajv: 8.12.0 @@ -19768,114 +12958,78 @@ packages: dev: true /scule@1.0.0: - resolution: - { - integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==, - } + resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} dev: true /search-insights@2.7.0: - resolution: - { - integrity: sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg==, - } - engines: { node: '>=8.16.0' } + resolution: {integrity: sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg==} + engines: {node: '>=8.16.0'} dev: true /secure-compare@3.0.1: - resolution: { integrity: sha1-8aAymzCLIh+uN7mXTz1XjQypmeM= } + resolution: {integrity: sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=} dev: true /select-hose@2.0.0: - resolution: - { - integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==, - } + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: true /selfsigned@2.1.1: - resolution: - { - integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + engines: {node: '>=10'} dependencies: node-forge: 1.3.1 dev: true /semver-regex@4.0.5: - resolution: - { - integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} + engines: {node: '>=12'} dev: true /semver-truncate@2.0.0: - resolution: - { - integrity: sha512-Rh266MLDYNeML5h90ttdMwfXe1+Nc4LAWd9X1KdJe8pPHP4kFmvLZALtsMNHNdvTyQygbEC0D59sIz47DIaq8w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Rh266MLDYNeML5h90ttdMwfXe1+Nc4LAWd9X1KdJe8pPHP4kFmvLZALtsMNHNdvTyQygbEC0D59sIz47DIaq8w==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: true /semver@5.7.1: - resolution: - { - integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, - } + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true /semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true /semver@7.3.7: - resolution: - { - integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.5.3: - resolution: - { - integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /send@0.18.0: - resolution: - { - integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 2.0.0 @@ -19895,28 +13049,14 @@ packages: dev: true /serialize-javascript@6.0.1: - resolution: - { - integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==, - } + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: randombytes: 2.1.0 dev: true - /seroval@0.5.1: - resolution: - { - integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==, - } - engines: { node: '>=10' } - dev: true - /serve-index@1.9.1: - resolution: - { - integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.8 batch: 0.6.1 @@ -19929,21 +13069,9 @@ packages: - supports-color dev: true - /serve-placeholder@2.0.1: - resolution: - { - integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==, - } - dependencies: - defu: 6.1.2 - dev: true - /serve-static@1.15.0: - resolution: - { - integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -19954,91 +13082,58 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { - integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, - } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true /setprototypeof@1.1.0: - resolution: - { - integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==, - } + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} dev: true /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true /shallow-clone@3.0.1: - resolution: - { - integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} dependencies: kind-of: 6.0.3 dev: true /shebang-command@1.2.0: - resolution: - { - integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex@1.0.0: - resolution: - { - integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} dev: true /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} dev: true /shell-exec@1.0.2: - resolution: - { - integrity: sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==, - } + resolution: {integrity: sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==} dev: true /shell-quote@1.8.1: - resolution: - { - integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, - } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shiki@0.14.4: - resolution: - { - integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==, - } + resolution: {integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==} dependencies: ansi-sequence-parser: 1.1.0 jsonc-parser: 3.2.0 @@ -20047,59 +13142,34 @@ packages: dev: true /side-channel@1.0.4: - resolution: - { - integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, - } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 object-inspect: 1.12.3 dev: true - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - /signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true /sisteransi@1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true /slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} dev: true /slash@4.0.0: - resolution: - { - integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} dev: true /slice-ansi@3.0.0: - resolution: - { - integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -20107,11 +13177,8 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { - integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -20119,125 +13186,57 @@ packages: dev: true /slice-ansi@5.0.0: - resolution: - { - integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.1.0 is-fullwidth-code-point: 4.0.0 dev: true - /smob@1.4.0: - resolution: - { - integrity: sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==, - } - dev: true - /snake-case@3.0.4: - resolution: - { - integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==, - } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.1 dev: true /sockjs@0.3.24: - resolution: - { - integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==, - } + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} dependencies: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 dev: true - /solid-js@1.7.11: - resolution: - { - integrity: sha512-JkuvsHt8jqy7USsy9xJtT18aF9r2pFO+GB8JQ2XGTvtF49rGTObB46iebD25sE3qVNvIbwglXOXdALnJq9IHtQ==, - } - dependencies: - csstype: 3.1.2 - seroval: 0.5.1 - dev: true - - /solid-refresh@0.5.2(solid-js@1.7.11): - resolution: - { - integrity: sha512-I69HmFj0LsGRJ3n8CEMVjyQFgVtuM2bSjznu2hCnsY+i5oOxh8ioWj00nnHBv0UYD3WpE/Sq4Q3TNw2IKmKN7A==, - } - peerDependencies: - solid-js: ^1.3 - dependencies: - '@babel/generator': 7.22.10 - '@babel/helper-module-imports': 7.22.5 - '@babel/types': 7.22.10 - solid-js: 1.7.11 - dev: true - /sonic-boom@1.4.1: - resolution: - { - integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==, - } + resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==} dependencies: atomic-sleep: 1.0.0 flatstr: 1.0.12 dev: true - /sorcery@0.11.0: - resolution: - { - integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==, - } - hasBin: true - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - buffer-crc32: 0.2.13 - minimist: 1.2.7 - sander: 0.5.1 - dev: true - /sort-keys-length@1.0.1: - resolution: - { - integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} + engines: {node: '>=0.10.0'} dependencies: sort-keys: 1.1.2 dev: true /sort-keys@1.1.2: - resolution: - { - integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} + engines: {node: '>=0.10.0'} dependencies: is-plain-obj: 1.1.0 dev: true /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} dev: true /source-map-loader@3.0.1(webpack@5.88.2): - resolution: - { - integrity: sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==} + engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: @@ -20248,11 +13247,8 @@ packages: dev: true /source-map-loader@4.0.1(webpack@5.88.2): - resolution: - { - integrity: sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==} + engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.72.1 dependencies: @@ -20263,56 +13259,38 @@ packages: dev: true /source-map-support@0.5.13: - resolution: - { - integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, - } + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map-support@0.5.19: - resolution: - { - integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==, - } + resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map-support@0.5.21: - resolution: - { - integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, - } + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} dev: true /source-map@0.7.4: - resolution: - { - integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} dev: true /spdy-transport@3.0.0: - resolution: - { - integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==, - } + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: debug: 4.3.4 detect-node: 2.1.0 @@ -20325,11 +13303,8 @@ packages: dev: true /spdy@4.0.2: - resolution: - { - integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} dependencies: debug: 4.3.4 handle-thing: 2.0.1 @@ -20341,18 +13316,12 @@ packages: dev: true /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true /sshpk@1.17.0: - resolution: - { - integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: asn1: 0.2.6 @@ -20367,94 +13336,48 @@ packages: dev: true /stack-utils@2.0.5: - resolution: - { - integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /standard-as-callback@2.1.0: - resolution: - { - integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==, - } - dev: true - /statuses@1.5.0: - resolution: - { - integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} dev: true /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /std-env@3.4.3: - resolution: - { - integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==, - } + resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} dev: true /steno@0.4.4: - resolution: - { - integrity: sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==, - } + resolution: {integrity: sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==} dependencies: graceful-fs: 4.2.9 dev: true - /streamsearch@1.1.0: - resolution: - { - integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, - } - engines: { node: '>=10.0.0' } - dev: true - /string-argv@0.3.1: - resolution: - { - integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==, - } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} dev: true /string-length@4.0.2: - resolution: - { - integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 dev: true /string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 @@ -20462,11 +13385,8 @@ packages: dev: true /string-width@5.1.2: - resolution: - { - integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 @@ -20474,124 +13394,75 @@ packages: dev: true /string_decoder@1.1.1: - resolution: - { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, - } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 dev: true /strip-ansi@7.0.1: - resolution: - { - integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 dev: true /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-bom@4.0.0: - resolution: - { - integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} dev: true /strip-eof@1.0.0: - resolution: - { - integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} dev: true /strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: true /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: '>=12' } - dev: true - - /strip-indent@3.0.0: - resolution: - { - integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, - } - engines: { node: '>=8' } - dependencies: - min-indent: 1.0.1 + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} dev: true /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strip-literal@1.3.0: - resolution: - { - integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==, - } + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: acorn: 8.10.0 dev: true /strip-outer@2.0.0: - resolution: - { - integrity: sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /strong-log-transformer@2.1.0: - resolution: - { - integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} + engines: {node: '>=4'} hasBin: true dependencies: duplexer: 0.1.2 @@ -20600,22 +13471,16 @@ packages: dev: true /strtok3@7.0.0: - resolution: - { - integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} + engines: {node: '>=14.16'} dependencies: '@tokenizer/token': 0.3.0 peek-readable: 5.0.0 dev: true /style-loader@3.3.1(webpack@5.88.2): - resolution: - { - integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==} + engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: @@ -20623,11 +13488,8 @@ packages: dev: true /stylehacks@6.0.0(postcss@8.4.28): - resolution: - { - integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==, - } - engines: { node: ^14 || ^16 || >=18.0 } + resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: @@ -20637,11 +13499,8 @@ packages: dev: true /stylus-loader@7.1.0(stylus@0.59.0)(webpack@5.88.2): - resolution: - { - integrity: sha512-gNUEjjozR+oZ8cuC/Fx4LVXqZOgDKvpW9t2hpXHcxjfPYqSjQftaGwZUK+wL9B0QJ26uS6p1EmoWHmvld1dF7g==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-gNUEjjozR+oZ8cuC/Fx4LVXqZOgDKvpW9t2hpXHcxjfPYqSjQftaGwZUK+wL9B0QJ26uS6p1EmoWHmvld1dF7g==} + engines: {node: '>= 14.15.0'} peerDependencies: stylus: '>=0.52.4' webpack: ^5.0.0 @@ -20654,10 +13513,7 @@ packages: dev: true /stylus@0.59.0: - resolution: - { - integrity: sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==, - } + resolution: {integrity: sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==} hasBin: true dependencies: '@adobe/css-tools': 4.2.0 @@ -20670,147 +13526,38 @@ packages: dev: true /supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 dev: true - /supports-color@9.4.0: - resolution: - { - integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==, - } - engines: { node: '>=12' } - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: '>= 0.4' } - dev: true - - /svelte-preprocess@5.0.4(@babel/core@7.22.10)(less@4.1.3)(postcss@8.4.28)(stylus@0.59.0)(svelte@4.2.1)(typescript@5.1.6): - resolution: - { - integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==, - } - engines: { node: '>= 14.10.0' } - requiresBuild: true - peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.55.0 - sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 - typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true - dependencies: - '@babel/core': 7.22.10 - '@types/pug': 2.0.6 - detect-indent: 6.1.0 - less: 4.1.3 - magic-string: 0.27.0 - postcss: 8.4.28 - sorcery: 0.11.0 - strip-indent: 3.0.0 - stylus: 0.59.0 - svelte: 4.2.1 - typescript: 5.1.6 - dev: true - - /svelte@4.2.1: - resolution: - { - integrity: sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==, - } - engines: { node: '>=16' } - dependencies: - '@ampproject/remapping': 2.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - acorn: 8.10.0 - aria-query: 5.3.0 - axobject-query: 3.2.1 - code-red: 1.0.4 - css-tree: 2.3.1 - estree-walker: 3.0.3 - is-reference: 3.0.2 - locate-character: 3.0.0 - magic-string: 0.30.3 - periscopic: 3.1.0 + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} dev: true /svg-parser@2.0.4: - resolution: - { - integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==, - } - dev: true - - /svg-tags@1.0.0: - resolution: - { - integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==, - } + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} dev: true /svgo@3.0.2: - resolution: - { - integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: '@trysound/sax': 0.2.0 @@ -20822,41 +13569,26 @@ packages: dev: true /symbol-tree@3.2.4: - resolution: - { - integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==, - } + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true /tabbable@6.2.0: - resolution: - { - integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==, - } + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: true /tapable@1.1.3: - resolution: - { - integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} dev: true /tapable@2.2.1: - resolution: - { - integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -20866,11 +13598,8 @@ packages: dev: true /tar@6.1.11: - resolution: - { - integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} + engines: {node: '>= 10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -20881,11 +13610,8 @@ packages: dev: true /tar@6.1.15: - resolution: - { - integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -20896,10 +13622,7 @@ packages: dev: true /tcp-port-used@1.0.2: - resolution: - { - integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==, - } + resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} dependencies: debug: 4.3.1 is2: 2.0.7 @@ -20908,22 +13631,16 @@ packages: dev: true /temp@0.9.4: - resolution: - { - integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} + engines: {node: '>=6.0.0'} dependencies: mkdirp: 0.5.5 rimraf: 2.6.3 dev: true /terser-webpack-plugin@5.3.8(@swc/core@1.3.91)(esbuild@0.18.17)(webpack@5.88.2): - resolution: - { - integrity: sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==, - } - engines: { node: '>= 10.13.0' } + resolution: {integrity: sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==} + engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' esbuild: '*' @@ -20948,11 +13665,8 @@ packages: dev: true /terser-webpack-plugin@5.3.8(@swc/core@1.3.91)(webpack@5.88.2): - resolution: - { - integrity: sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==, - } - engines: { node: '>= 10.13.0' } + resolution: {integrity: sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==} + engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' esbuild: '*' @@ -20976,11 +13690,8 @@ packages: dev: true /terser@5.19.2: - resolution: - { - integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} + engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 @@ -20990,11 +13701,8 @@ packages: dev: true /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 @@ -21002,147 +13710,78 @@ packages: dev: true /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true /through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true /thunky@1.1.0: - resolution: - { - integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==, - } + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: true /timers-ext@0.1.7: - resolution: - { - integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==, - } + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} dependencies: es5-ext: 0.10.62 next-tick: 1.1.0 dev: true - /tiny-invariant@1.3.1: - resolution: - { - integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==, - } - dev: true - - /tinybench@2.5.0: - resolution: - { - integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==, - } - dev: true - - /tinypool@0.7.0: - resolution: - { - integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==, - } - engines: { node: '>=14.0.0' } - dev: true - - /tinyspy@2.1.1: - resolution: - { - integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==, - } - engines: { node: '>=14.0.0' } - dev: true - /tmp@0.0.33: - resolution: - { - integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.1: - resolution: - { - integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==, - } - engines: { node: '>=8.17.0' } + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 dev: true /tmpl@1.0.5: - resolution: - { - integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, - } + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} dev: true /to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} dev: true /token-types@5.0.1: - resolution: - { - integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} + engines: {node: '>=14.16'} dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 dev: true /tough-cookie@2.4.3: - resolution: - { - integrity: sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==} + engines: {node: '>=0.8'} dependencies: psl: 1.9.0 punycode: 1.4.1 dev: true /tough-cookie@4.1.2: - resolution: - { - integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + engines: {node: '>=6'} dependencies: psl: 1.9.0 punycode: 2.1.1 @@ -21151,56 +13790,38 @@ packages: dev: true /tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true /tr46@2.1.0: - resolution: - { - integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} dependencies: punycode: 2.1.1 dev: true /tr46@3.0.0: - resolution: - { - integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} dependencies: punycode: 2.1.1 dev: true /tree-kill@1.2.2: - resolution: - { - integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==, - } + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true dev: true /trim-repeated@2.0.0: - resolution: - { - integrity: sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: true /ts-jest@29.1.1(@babel/core@7.22.10)(jest@29.4.3)(typescript@5.1.6): - resolution: - { - integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' @@ -21233,11 +13854,8 @@ packages: dev: true /ts-loader@9.4.1(typescript@5.1.6)(webpack@5.88.2): - resolution: - { - integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} + engines: {node: '>=12.0.0'} peerDependencies: typescript: '*' webpack: ^5.0.0 @@ -21251,10 +13869,7 @@ packages: dev: true /ts-node@10.9.1(@swc/core@1.3.91)(@types/node@18.15.3)(typescript@4.6.2): - resolution: - { - integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==, - } + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -21287,10 +13902,7 @@ packages: optional: true /ts-node@10.9.1(@swc/core@1.3.91)(@types/node@18.15.3)(typescript@5.1.6): - resolution: - { - integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==, - } + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -21322,11 +13934,8 @@ packages: dev: true /tsconfig-paths-webpack-plugin@4.0.0: - resolution: - { - integrity: sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==} + engines: {node: '>=10.13.0'} dependencies: chalk: 4.1.0 enhanced-resolve: 5.15.0 @@ -21334,11 +13943,8 @@ packages: dev: true /tsconfig-paths@4.1.2: - resolution: - { - integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} + engines: {node: '>=6'} dependencies: json5: 2.2.3 minimist: 1.2.7 @@ -21346,31 +13952,19 @@ packages: dev: true /tslib@1.14.1: - resolution: - { - integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, - } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true /tslib@2.5.2: - resolution: - { - integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==, - } + resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} /tslib@2.6.1: - resolution: - { - integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==, - } + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} dev: true /tslint@6.1.3(typescript@5.1.6): - resolution: - { - integrity: sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==, - } - engines: { node: '>=4.8.0' } + resolution: {integrity: sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==} + engines: {node: '>=4.8.0'} deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information. hasBin: true peerDependencies: @@ -21393,18 +13987,12 @@ packages: dev: true /tsscmp@1.0.6: - resolution: - { - integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==, - } - engines: { node: '>=0.6.x' } + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} dev: true /tsutils@2.29.0(typescript@5.1.6): - resolution: - { - integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==, - } + resolution: {integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==} peerDependencies: typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev' dependencies: @@ -21413,11 +14001,8 @@ packages: dev: true /tsutils@3.21.0(typescript@5.1.6): - resolution: - { - integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -21426,169 +14011,96 @@ packages: dev: true /tunnel-agent@0.6.0: - resolution: - { - integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, - } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /tweetnacl@0.14.5: - resolution: - { - integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==, - } + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} dev: true /typanion@3.12.1: - resolution: - { - integrity: sha512-3SJF/czpzqq6G3lprGFLa6ps12yb1uQ1EmitNnep2fDMNh1aO/Zbq9sWY+3lem0zYb2oHJnQWyabTGUZ+L1ScQ==, - } + resolution: {integrity: sha512-3SJF/czpzqq6G3lprGFLa6ps12yb1uQ1EmitNnep2fDMNh1aO/Zbq9sWY+3lem0zYb2oHJnQWyabTGUZ+L1ScQ==} dev: true /type-check@0.3.2: - resolution: - { - integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: true /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, - } - engines: { node: '>=10' } - dev: true - - /type-fest@2.19.0: - resolution: - { - integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==, - } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} dev: true /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.34 dev: true /type@1.2.0: - resolution: - { - integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==, - } + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} dev: true /type@2.7.2: - resolution: - { - integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==, - } + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: true /typed-assert@1.0.9: - resolution: - { - integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==, - } + resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} dev: true /typescript@4.6.2: - resolution: - { - integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==, - } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==} + engines: {node: '>=4.2.0'} hasBin: true requiresBuild: true dev: true optional: true /typescript@5.1.6: - resolution: - { - integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} hasBin: true dev: true /ufo@1.3.0: - resolution: - { - integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==, - } + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /uglify-js@3.15.2: - resolution: - { - integrity: sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A==} + engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true dev: true optional: true - /ultrahtml@1.3.0: - resolution: - { - integrity: sha512-xmXvE8tC8t4PVqy0/g1fe7H9USY/Brr425q4dD/0QbQMQit7siCtb06+SCqE4GfU24nwsZz8Th1g7L7mm1lL5g==, - } - dev: true - - /uncrypto@0.1.3: - resolution: - { - integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==, - } - dev: true - /unctx@2.3.1: - resolution: - { - integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==, - } + resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} dependencies: acorn: 8.10.0 estree-walker: 3.0.3 @@ -21596,83 +14108,33 @@ packages: unplugin: 1.4.0 dev: true - /undici@5.23.0: - resolution: - { - integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==, - } - engines: { node: '>=14.0' } - dependencies: - busboy: 1.6.0 - dev: true - - /unenv@1.7.3: - resolution: - { - integrity: sha512-5NGaBSP0acq5FAnjw9m6sA/QaImYkEjpYXPc99l/KUIb1qbxki1PSvX3ZNnK3pWIC2XwIHrOul2P7FiHyWgeXA==, - } - dependencies: - consola: 3.2.3 - defu: 6.1.2 - mime: 3.0.0 - node-fetch-native: 1.3.3 - pathe: 1.1.1 - dev: true - - /unhead@1.3.5: - resolution: - { - integrity: sha512-T7WBnrRvpvYw4PntaSfz45atpr83ZlZvZ5vULhbMZtiv/wlFYuknd/wWT8+EPfCJjVStyJX4MZ1DH8ux0h3QIQ==, - } - dependencies: - '@unhead/dom': 1.3.5 - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 - hookable: 5.5.3 - dev: true - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { - integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: - { - integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.0.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: - { - integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript@2.0.0: - resolution: - { - integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} + engines: {node: '>=4'} dev: true - /unimport@3.2.0(rollup@3.28.1): - resolution: - { - integrity: sha512-9buxPxkNwxwxAlH/RfOFHxtQTUrlmBGi9Ai9HezY2yYbkoOhgJTYPI6+WqxI1EZphoM9cw1SHoCFRkXSb8/fjQ==, - } + /unimport@3.2.0: + resolution: {integrity: sha512-9buxPxkNwxwxAlH/RfOFHxtQTUrlmBGi9Ai9HezY2yYbkoOhgJTYPI6+WqxI1EZphoM9cw1SHoCFRkXSb8/fjQ==} dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) + '@rollup/pluginutils': 5.0.3 escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 @@ -21688,81 +14150,33 @@ packages: dev: true /union@0.5.0: - resolution: - { - integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} + engines: {node: '>= 0.8.0'} dependencies: qs: 6.11.0 dev: true /universalify@0.2.0: - resolution: - { - integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.0: - resolution: - { - integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} dev: true /unix-crypt-td-js@1.1.4: - resolution: - { - integrity: sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==, - } + resolution: {integrity: sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==} dev: true /unpipe@1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: '>= 0.8' } - dev: true - - /unplugin-vue-router@0.6.4(vue-router@4.2.4)(vue@3.3.4): - resolution: - { - integrity: sha512-9THVhhtbVFxbsIibjK59oPwMI1UCxRWRPX7azSkTUABsxovlOXJys5SJx0kd/0oKIqNJuYgkRfAgPuO77SqCOg==, - } - peerDependencies: - vue-router: ^4.1.0 - peerDependenciesMeta: - vue-router: - optional: true - dependencies: - '@babel/types': 7.22.10 - '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - '@vue-macros/common': 1.7.1(vue@3.3.4) - ast-walker-scope: 0.4.2 - chokidar: 3.5.3 - fast-glob: 3.3.1 - json5: 2.2.3 - local-pkg: 0.4.3 - mlly: 1.4.1 - pathe: 1.1.1 - scule: 1.0.0 - unplugin: 1.4.0 - vue-router: 4.2.4(vue@3.3.4) - yaml: 2.2.2 - transitivePeerDependencies: - - rollup - - vue + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} dev: true /unplugin@1.4.0: - resolution: - { - integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==, - } + resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==} dependencies: acorn: 8.10.0 chokidar: 3.5.3 @@ -21770,79 +14184,8 @@ packages: webpack-virtual-modules: 0.5.0 dev: true - /unstorage@1.9.0: - resolution: - { - integrity: sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ==, - } - peerDependencies: - '@azure/app-configuration': ^1.4.1 - '@azure/cosmos': ^3.17.3 - '@azure/data-tables': ^13.2.2 - '@azure/identity': ^3.2.3 - '@azure/keyvault-secrets': ^4.7.0 - '@azure/storage-blob': ^12.14.0 - '@capacitor/preferences': ^5.0.0 - '@planetscale/database': ^1.8.0 - '@upstash/redis': ^1.22.0 - '@vercel/kv': ^0.2.2 - idb-keyval: ^6.2.1 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/kv': - optional: true - idb-keyval: - optional: true - dependencies: - anymatch: 3.1.3 - chokidar: 3.5.3 - destr: 2.0.1 - h3: 1.8.0 - ioredis: 5.3.2 - listhen: 1.3.0 - lru-cache: 10.0.1 - mri: 1.2.0 - node-fetch-native: 1.3.3 - ofetch: 1.2.1 - ufo: 1.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /untun@0.1.1: - resolution: - { - integrity: sha512-Xyo/3TLi2pMLr8SFSXAHVTEpEtVrqXZTzXkZAglRIairiO+utD6y7bCemYejj7GazEwomMwpNB1Gg3hoehY+zA==, - } - hasBin: true - dependencies: - citty: 0.1.2 - consola: 3.2.3 - pathe: 1.1.1 - dev: true - /untyped@1.4.0: - resolution: - { - integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==, - } + resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: '@babel/core': 7.22.10 @@ -21857,10 +14200,7 @@ packages: dev: true /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: - { - integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==, - } + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -21870,143 +14210,87 @@ packages: picocolors: 1.0.0 dev: true - /uqr@0.1.2: - resolution: - { - integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==, - } - dev: true - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: true /url-join@4.0.1: - resolution: - { - integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==, - } + resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} dev: true /url-parse@1.5.10: - resolution: - { - integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==, - } + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 dev: true /user-home@2.0.0: - resolution: - { - integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} + engines: {node: '>=0.10.0'} dependencies: os-homedir: 1.0.2 dev: true /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true /utils-merge@1.0.1: - resolution: { integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + engines: {node: '>= 0.4.0'} dev: true /uuid@3.4.0: - resolution: - { - integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==, - } + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true dev: true /uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: true /v8-compile-cache-lib@3.0.1: - resolution: - { - integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, - } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true /v8-compile-cache@2.3.0: - resolution: - { - integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==, - } + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true /v8-to-istanbul@9.0.1: - resolution: - { - integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==, - } - engines: { node: '>=10.12.0' } + resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} + engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.18 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.8.0 dev: true - /validate-html-nesting@1.2.2: - resolution: - { - integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==, - } - dev: true - /validate-npm-package-name@5.0.0: - resolution: - { - integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 dev: true /validator@13.7.0: - resolution: - { - integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==} + engines: {node: '>= 0.10'} dev: true /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} dev: true /verdaccio-audit@10.2.3: - resolution: - { - integrity: sha512-mXOT6EiB9hK5dMjRTtJlL+hu2YswXuGSw28xOAPyZLWLTASDJy6Zs++o4P/6FyQ03yB0peK2KX7gHZ7APGZk2Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-mXOT6EiB9hK5dMjRTtJlL+hu2YswXuGSw28xOAPyZLWLTASDJy6Zs++o4P/6FyQ03yB0peK2KX7gHZ7APGZk2Q==} + engines: {node: '>=8'} dependencies: body-parser: 1.20.1 express: 4.18.2 @@ -22018,21 +14302,15 @@ packages: dev: true /verdaccio-auth-memory@10.2.2: - resolution: - { - integrity: sha512-JCAnSqwq2l1UPt0hQcPn1B3X9mYpJ5zMsDvuDdmnlWLkrIDx2Wev5fluW0HC9hcFMITFl/DJj/DyzYOOqwhFSQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-JCAnSqwq2l1UPt0hQcPn1B3X9mYpJ5zMsDvuDdmnlWLkrIDx2Wev5fluW0HC9hcFMITFl/DJj/DyzYOOqwhFSQ==} + engines: {node: '>=8'} dependencies: '@verdaccio/commons-api': 10.2.0 dev: true /verdaccio-htpasswd@10.5.1: - resolution: - { - integrity: sha512-DCUOITs+Ta4Hep429BjopYrUw9hEJsJ1mbMP0l9Glan1S2YvTPanhtm5Ahw/joljUlt3xawKz9Gmt1QJujfMew==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-DCUOITs+Ta4Hep429BjopYrUw9hEJsJ1mbMP0l9Glan1S2YvTPanhtm5Ahw/joljUlt3xawKz9Gmt1QJujfMew==} + engines: {node: '>=8'} dependencies: '@verdaccio/file-locking': 10.3.0 apache-md5: 1.1.8 @@ -22042,11 +14320,8 @@ packages: dev: true /verdaccio@5.18.0(typanion@3.12.1): - resolution: - { - integrity: sha512-z6akeVQS08iXXz0yqi6gMMOoSI2SHocQI+NMMtaVo2MFJaYvhoPSLf66MyXIS3vyCIOu108R6Ncknt0oTIUk1A==, - } - engines: { node: '>=12', npm: '>=6' } + resolution: {integrity: sha512-z6akeVQS08iXXz0yqi6gMMOoSI2SHocQI+NMMtaVo2MFJaYvhoPSLf66MyXIS3vyCIOu108R6Ncknt0oTIUk1A==} + engines: {node: '>=12', npm: '>=6'} hasBin: true dependencies: '@verdaccio/commons-api': 10.2.0 @@ -22097,186 +14372,17 @@ packages: dev: true /verror@1.10.0: - resolution: { integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= } - engines: { '0': node >=0.6.0 } + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} + engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.4.1 dev: true - /vite-node@0.33.0(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0): - resolution: - { - integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==, - } - engines: { node: '>=v14.18.0' } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.1 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node@0.34.3(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0): - resolution: - { - integrity: sha512-+0TzJf1g0tYXj6tR2vEyiA42OPq68QkRZCu/ERSo2PtsDJfBpDyEfuKbRvLmZqi/CgC7SCBtyC+WjTGNMRIaig==, - } - engines: { node: '>=v14.18.0' } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.1 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-plugin-checker@0.6.2(eslint@8.46.0)(typescript@5.1.6)(vite@4.3.9): - resolution: - { - integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==, - } - engines: { node: '>=14.16' } - peerDependencies: - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: '>=2.0.0' - vls: '*' - vti: '*' - vue-tsc: '>=1.3.9' - peerDependenciesMeta: - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - vue-tsc: - optional: true - dependencies: - '@babel/code-frame': 7.22.10 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.5.3 - commander: 8.3.0 - eslint: 8.46.0 - fast-glob: 3.3.1 - fs-extra: 11.1.1 - lodash.debounce: 4.0.8 - lodash.pick: 4.4.0 - npm-run-path: 4.0.1 - semver: 7.5.4 - strip-ansi: 6.0.1 - tiny-invariant: 1.3.1 - typescript: 5.1.6 - vite: 4.3.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vscode-languageclient: 7.0.0 - vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-uri: 3.0.7 - dev: true - - /vite-plugin-solid@2.7.0(solid-js@1.7.11)(vite@4.4.9): - resolution: - { - integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==, - } - peerDependencies: - solid-js: ^1.7.2 - vite: ^3.0.0 || ^4.0.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) - '@types/babel__core': 7.20.0 - babel-preset-solid: 1.7.4(@babel/core@7.22.10) - merge-anything: 5.1.4 - solid-js: 1.7.11 - solid-refresh: 0.5.2(solid-js@1.7.11) - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vitefu: 0.2.3(vite@4.4.9) - transitivePeerDependencies: - - supports-color - dev: true - - /vite@4.3.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0): - resolution: - { - integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.15.3 - esbuild: 0.17.19 - less: 4.1.3 - postcss: 8.4.28 - rollup: 3.28.1 - stylus: 0.59.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@4.4.7(@types/node@18.15.3)(less@4.1.3)(sass@1.64.1)(stylus@0.59.0)(terser@5.19.2): - resolution: - { - integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' @@ -22315,11 +14421,8 @@ packages: dev: true /vite@4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0): - resolution: - { - integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' @@ -22355,25 +14458,8 @@ packages: fsevents: 2.3.3 dev: true - /vitefu@0.2.3(vite@4.4.9): - resolution: - { - integrity: sha512-75l7TTuU8isAhz1QFtNKjDkqjxvndfMC1AfIMjJ0ZQ59ZD0Ow9QOIsJJX16Wv9PS8f+zMzp6fHy5cCbKG/yVUQ==, - } - peerDependencies: - vite: ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - dev: true - /vitepress@1.0.0-rc.20(@algolia/client-search@4.19.1)(@types/node@18.15.3)(less@4.1.3)(postcss@8.4.28)(search-insights@2.7.0)(stylus@0.59.0): - resolution: - { - integrity: sha512-CykMUJ8JLxLcGWek0ew3wln4RYbsOd1+0YzXITTpajggpynm2S331TNkJVOkHrMRc6GYe3y4pS40GfgcW0ZwAw==, - } + resolution: {integrity: sha512-CykMUJ8JLxLcGWek0ew3wln4RYbsOd1+0YzXITTpajggpynm2S331TNkJVOkHrMRc6GYe3y4pS40GfgcW0ZwAw==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4.3.2 @@ -22424,164 +14510,17 @@ packages: - universal-cookie dev: true - /vitest@0.34.3(less@4.1.3)(stylus@0.59.0): - resolution: - { - integrity: sha512-7+VA5Iw4S3USYk+qwPxHl8plCMhA5rtfwMjgoQXMT7rO5ldWcdsdo3U1QD289JgglGK4WeOzgoLTsGFu6VISyQ==, - } - engines: { node: '>=v14.18.0' } - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true - dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 18.15.3 - '@vitest/expect': 0.34.3 - '@vitest/runner': 0.34.3 - '@vitest/snapshot': 0.34.3 - '@vitest/spy': 0.34.3 - '@vitest/utils': 0.34.3 - acorn: 8.10.0 - acorn-walk: 8.2.0 - cac: 6.7.14 - chai: 4.3.8 - debug: 4.3.4 - local-pkg: 0.4.3 - magic-string: 0.30.3 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.4.3 - strip-literal: 1.3.0 - tinybench: 2.5.0 - tinypool: 0.7.0 - vite: 4.4.9(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - vite-node: 0.34.3(@types/node@18.15.3)(less@4.1.3)(stylus@0.59.0) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vscode-jsonrpc@6.0.0: - resolution: - { - integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==, - } - engines: { node: '>=8.0.0 || >=10.0.0' } - dev: true - - /vscode-languageclient@7.0.0: - resolution: - { - integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==, - } - engines: { vscode: ^1.52.0 } - dependencies: - minimatch: 3.1.2 - semver: 7.5.4 - vscode-languageserver-protocol: 3.16.0 - dev: true - - /vscode-languageserver-protocol@3.16.0: - resolution: - { - integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==, - } - dependencies: - vscode-jsonrpc: 6.0.0 - vscode-languageserver-types: 3.16.0 - dev: true - - /vscode-languageserver-textdocument@1.0.8: - resolution: - { - integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==, - } - dev: true - - /vscode-languageserver-types@3.16.0: - resolution: - { - integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==, - } - dev: true - - /vscode-languageserver@7.0.0: - resolution: - { - integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==, - } - hasBin: true - dependencies: - vscode-languageserver-protocol: 3.16.0 - dev: true - /vscode-oniguruma@1.7.0: - resolution: - { - integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==, - } + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} dev: true /vscode-textmate@8.0.0: - resolution: - { - integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==, - } - dev: true - - /vscode-uri@3.0.7: - resolution: - { - integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==, - } - dev: true - - /vue-bundle-renderer@1.0.3: - resolution: - { - integrity: sha512-EfjX+5TTUl70bki9hPuVp+54JiZOvFIfoWBcfXsSwLzKEiDYyHNi5iX8srnqLIv3YRnvxgbntdcG1WPq0MvffQ==, - } - dependencies: - ufo: 1.3.0 + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true /vue-demi@0.14.5(vue@3.3.4): - resolution: - { - integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true peerDependencies: @@ -22594,30 +14533,8 @@ packages: vue: 3.3.4 dev: true - /vue-devtools-stub@0.1.0: - resolution: - { - integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==, - } - dev: true - - /vue-router@4.2.4(vue@3.3.4): - resolution: - { - integrity: sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==, - } - peerDependencies: - vue: ^3.2.0 - dependencies: - '@vue/devtools-api': 6.5.0 - vue: 3.3.4 - dev: true - /vue@3.3.4: - resolution: - { - integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==, - } + resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} dependencies: '@vue/compiler-dom': 3.3.4 '@vue/compiler-sfc': 3.3.4 @@ -22627,118 +14544,74 @@ packages: dev: true /w3c-hr-time@1.0.2: - resolution: - { - integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==, - } + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} deprecated: Use your platform's native performance.now() and performance.timeOrigin. dependencies: browser-process-hrtime: 1.0.0 dev: true /w3c-xmlserializer@2.0.0: - resolution: - { - integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} dependencies: xml-name-validator: 3.0.0 dev: true /w3c-xmlserializer@4.0.0: - resolution: - { - integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} dependencies: xml-name-validator: 4.0.0 dev: true /walker@1.0.8: - resolution: - { - integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, - } + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: true /watchpack@2.4.0: - resolution: - { - integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.9 dev: true /wbuf@1.7.3: - resolution: - { - integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==, - } + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 dev: true /wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.3 dev: true - /web-streams-polyfill@3.2.1: - resolution: - { - integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==, - } - engines: { node: '>= 8' } - dev: true - /webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true /webidl-conversions@5.0.0: - resolution: - { - integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} dev: true /webidl-conversions@6.1.0: - resolution: - { - integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==, - } - engines: { node: '>=10.4' } + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} dev: true /webidl-conversions@7.0.0: - resolution: - { - integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} dev: true /webpack-dev-middleware@5.3.1(webpack@5.88.2): - resolution: - { - integrity: sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==} + engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^4.0.0 || ^5.0.0 dependencies: @@ -22751,11 +14624,8 @@ packages: dev: true /webpack-dev-middleware@6.1.1(webpack@5.88.2): - resolution: - { - integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==} + engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: @@ -22771,11 +14641,8 @@ packages: dev: true /webpack-dev-server@4.15.1(webpack@5.88.2): - resolution: - { - integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==, - } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} + engines: {node: '>= 12.13.0'} hasBin: true peerDependencies: webpack: ^4.37.0 || ^5.0.0 @@ -22825,38 +14692,26 @@ packages: dev: true /webpack-merge@5.9.0: - resolution: - { - integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} + engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 wildcard: 2.0.0 dev: true /webpack-node-externals@3.0.0: - resolution: - { - integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} + engines: {node: '>=6'} dev: true /webpack-sources@3.2.3: - resolution: - { - integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} dev: true /webpack-subresource-integrity@5.1.0(webpack@5.88.2): - resolution: - { - integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} + engines: {node: '>= 12'} peerDependencies: html-webpack-plugin: '>= 5.0.0-beta.1 < 6' webpack: ^5.12.0 @@ -22869,18 +14724,12 @@ packages: dev: true /webpack-virtual-modules@0.5.0: - resolution: - { - integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==, - } + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: true /webpack@5.88.2(@swc/core@1.3.91): - resolution: - { - integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + engines: {node: '>=10.13.0'} hasBin: true peerDependencies: webpack-cli: '*' @@ -22919,11 +14768,8 @@ packages: dev: true /webpack@5.88.2(@swc/core@1.3.91)(esbuild@0.18.17): - resolution: - { - integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + engines: {node: '>=10.13.0'} hasBin: true peerDependencies: webpack-cli: '*' @@ -22962,11 +14808,8 @@ packages: dev: true /websocket-driver@0.7.4: - resolution: - { - integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} dependencies: http-parser-js: 0.5.5 safe-buffer: 5.2.1 @@ -22974,74 +14817,50 @@ packages: dev: true /websocket-extensions@0.1.4: - resolution: - { - integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} dev: true /whatwg-encoding@1.0.5: - resolution: - { - integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==, - } + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} dependencies: iconv-lite: 0.4.24 dev: true /whatwg-encoding@2.0.0: - resolution: - { - integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} dependencies: iconv-lite: 0.6.3 dev: true /whatwg-mimetype@2.3.0: - resolution: - { - integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==, - } + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: true /whatwg-mimetype@3.0.0: - resolution: - { - integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} dev: true /whatwg-url@11.0.0: - resolution: - { - integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} dependencies: tr46: 3.0.0 webidl-conversions: 7.0.0 dev: true /whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 dev: true /whatwg-url@8.7.0: - resolution: - { - integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} dependencies: lodash: 4.17.21 tr46: 2.1.0 @@ -23049,82 +14868,40 @@ packages: dev: true /which-module@2.0.0: - resolution: - { - integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==, - } + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} dev: true /which@1.3.1: - resolution: - { - integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, - } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 dev: true - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: '>=8' } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wide-align@1.1.5: - resolution: - { - integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==, - } - dependencies: - string-width: 4.2.3 - dev: true - /wildcard@2.0.0: - resolution: - { - integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==, - } + resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} dev: true /word-wrap@1.2.3: - resolution: - { - integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} dev: true /wordwrap@1.0.0: - resolution: - { - integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, - } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true /wrap-ansi@6.2.0: - resolution: - { - integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 @@ -23132,11 +14909,8 @@ packages: dev: true /wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 @@ -23144,29 +14918,20 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true /write-file-atomic@4.0.2: - resolution: - { - integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true /ws@7.5.9: - resolution: - { - integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==, - } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -23178,11 +14943,8 @@ packages: dev: true /ws@8.13.0: - resolution: - { - integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -23194,113 +14956,65 @@ packages: dev: true /xml-name-validator@3.0.0: - resolution: - { - integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==, - } + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true /xml-name-validator@4.0.0: - resolution: - { - integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} dev: true /xmlchars@2.2.0: - resolution: - { - integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==, - } - dev: true - - /xxhashjs@0.2.2: - resolution: - { - integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==, - } - dependencies: - cuint: 0.2.2 + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true /y18n@4.0.3: - resolution: - { - integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, - } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} dev: true /yallist@2.1.2: - resolution: - { - integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==, - } + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true /yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true /yaml@1.10.2: - resolution: - { - integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.2.2: - resolution: - { - integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} dev: true /yargs-parser@18.1.3: - resolution: - { - integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} dev: true /yargs@15.4.1: - resolution: - { - integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -23316,11 +15030,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -23332,44 +15043,16 @@ packages: dev: true /yn@3.1.1: - resolution: - { - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} dev: true /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: '>=12.20' } - dev: true - - /zhead@2.0.10: - resolution: - { - integrity: sha512-irug8fXNKjqazkA27cFQs7C6/ZD3qNiEzLC56kDyzQART/Z9GMGfg8h2i6fb9c8ZWnIx/QgOgFJxK3A/CYHG0g==, - } - dev: true - - /zip-stream@4.1.0: - resolution: - { - integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==, - } - engines: { node: '>= 10' } - dependencies: - archiver-utils: 2.1.0 - compress-commons: 4.1.1 - readable-stream: 3.6.0 + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} dev: true