@longzai-intelligence-bun/config 0.0.30 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +52 -7
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -151,8 +151,13 @@ type CoverageThreshold = {
|
|
|
151
151
|
/**
|
|
152
152
|
* bun:test 原生测试配置
|
|
153
153
|
*
|
|
154
|
-
* 字段命名与 bunfig.toml `[test]`
|
|
154
|
+
* 字段命名与 bunfig.toml `[test]` 段对齐。
|
|
155
155
|
* 参考:https://bun.sh/docs/runtime/bunfig
|
|
156
|
+
*
|
|
157
|
+
* @remarks
|
|
158
|
+
* `coverageThreshold` 例外即不写入 bunfig.toml,由 lzi-bun-cli 按全局汇总
|
|
159
|
+
* 口径消费,见该字段注释。`passWithNoTests` 与 `include` 为 lzi-bun-cli
|
|
160
|
+
* 自有字段,同样不进入 bunfig.toml。
|
|
156
161
|
*/
|
|
157
162
|
type BunTestConfig = {
|
|
158
163
|
/**
|
|
@@ -168,10 +173,14 @@ type BunTestConfig = {
|
|
|
168
173
|
*/
|
|
169
174
|
coverage?: boolean;
|
|
170
175
|
/**
|
|
171
|
-
*
|
|
176
|
+
* 覆盖率阈值,由 lzi-bun-cli 在测试全过后按全局汇总口径消费
|
|
172
177
|
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
178
|
+
* @remarks
|
|
179
|
+
* bun 原生对 bunfig.toml 同名字段按逐文件判定,任一源文件低于阈值即令
|
|
180
|
+
* `bun test` 非零退出,即使测试全过且包级汇总达标,退出码与测试事实不符即
|
|
181
|
+
* issue 0003。故本字段不序列化进 bunfig.toml,lzi-bun-cli 读取 lcov 报告
|
|
182
|
+
* 按包级全局汇总判定,口径对齐 coverage.md 与 vitest `thresholds`。
|
|
183
|
+
* 支持单数值即应用于三维,或对象即分别设置。
|
|
175
184
|
*/
|
|
176
185
|
coverageThreshold?: number | CoverageThreshold;
|
|
177
186
|
/**
|
|
@@ -803,6 +812,42 @@ declare function createImplementationBunConfig(options?: BunConfigOptions): BunC
|
|
|
803
812
|
*/
|
|
804
813
|
declare function defineImplementationBunConfig(options?: BunConfigOptions): BunConfigResult;
|
|
805
814
|
//#endregion
|
|
815
|
+
//#region src/presets/monorepo-root.config.d.ts
|
|
816
|
+
/**
|
|
817
|
+
* 创建 Monorepo 根包 bun 配置
|
|
818
|
+
*
|
|
819
|
+
* @remarks
|
|
820
|
+
* 根配置恒等本工厂零参调用即干净基线,意图命名对齐根包语义,
|
|
821
|
+
* `enableCoverage` 与 `passWithNoTests` 为根包不变量,用户声明被强制覆盖,
|
|
822
|
+
* `install` 声明原样透传,无声明时不产出该键
|
|
823
|
+
* @example
|
|
824
|
+
* ```typescript
|
|
825
|
+
* import { createMonorepoRootBunConfig } from '@longzai-intelligence-bun/config';
|
|
826
|
+
*
|
|
827
|
+
* export default createMonorepoRootBunConfig();
|
|
828
|
+
* ```;
|
|
829
|
+
*
|
|
830
|
+
* @param options - 配置选项,`enableCoverage` 与 `passWithNoTests` 将被强制覆盖
|
|
831
|
+
* @returns bun 配置对象,无 coverage 段,含透传的 `install` 声明
|
|
832
|
+
*/
|
|
833
|
+
declare function createMonorepoRootBunConfig(options?: DefineConfigInput): DefineConfigResult;
|
|
834
|
+
/**
|
|
835
|
+
* 定义 Monorepo 根包 bun 配置
|
|
836
|
+
*
|
|
837
|
+
* createMonorepoRootBunConfig 的语法糖。
|
|
838
|
+
*
|
|
839
|
+
* @example
|
|
840
|
+
* ```typescript
|
|
841
|
+
* import { defineMonorepoRootBunConfig } from '@longzai-intelligence-bun/config';
|
|
842
|
+
*
|
|
843
|
+
* export default defineMonorepoRootBunConfig();
|
|
844
|
+
* ```;
|
|
845
|
+
*
|
|
846
|
+
* @param options - 配置选项,`enableCoverage` 与 `passWithNoTests` 将被强制覆盖,默认 {}
|
|
847
|
+
* @returns bun 配置对象,无 coverage 段,含透传的 `install` 声明
|
|
848
|
+
*/
|
|
849
|
+
declare function defineMonorepoRootBunConfig(options?: DefineConfigInput): DefineConfigResult;
|
|
850
|
+
//#endregion
|
|
806
851
|
//#region src/presets/package.config.d.ts
|
|
807
852
|
/**
|
|
808
853
|
* 创建 packages/core bun 配置
|
|
@@ -946,7 +991,7 @@ declare function defineCliBunConfig(options?: BunConfigOptions): BunConfigResult
|
|
|
946
991
|
* export default createTypeOnlyBunConfig();
|
|
947
992
|
* ```;
|
|
948
993
|
*
|
|
949
|
-
* @param options -
|
|
994
|
+
* @param options - 配置选项,`enableCoverage` 与 `passWithNoTests` 将被强制覆盖
|
|
950
995
|
* @returns bun 配置对象(无 coverage 段)
|
|
951
996
|
*/
|
|
952
997
|
declare function createTypeOnlyBunConfig(options?: BunConfigOptions): BunConfigResult;
|
|
@@ -955,9 +1000,9 @@ declare function createTypeOnlyBunConfig(options?: BunConfigOptions): BunConfigR
|
|
|
955
1000
|
*
|
|
956
1001
|
* createTypeOnlyBunConfig 的语法糖。
|
|
957
1002
|
*
|
|
958
|
-
* @param options -
|
|
1003
|
+
* @param options - 配置选项,`enableCoverage` 与 `passWithNoTests` 将被强制覆盖,默认 {}
|
|
959
1004
|
* @returns bun 配置对象(BunConfigResult,无 coverage 段)
|
|
960
1005
|
*/
|
|
961
1006
|
declare function defineTypeOnlyBunConfig(options?: BunConfigOptions): BunConfigResult;
|
|
962
1007
|
//#endregion
|
|
963
|
-
export { type BunConfigOptions, type BunConfigResult, type BunInstallConfig, type BunInstallScopes, type BunProjectSpecificOptions, type BunTestConfig, CLI_COVERAGE_THRESHOLDS, SERVER_MINIMAL_EXEMPTION_PATTERNS as CLI_MINIMAL_EXEMPTION_PATTERNS, SERVER_MINIMAL_EXEMPTION_PATTERNS, SERVER_MODERATE_EXEMPTION_PATTERNS as CLI_MODERATE_EXEMPTION_PATTERNS, SERVER_MODERATE_EXEMPTION_PATTERNS, type CoverageThreshold, DEFAULT_COVERAGE_DIR, DEFAULT_COVERAGE_IGNORE_PATTERNS, DEFAULT_COVERAGE_REPORTERS, DEFAULT_INCLUDE_PATTERNS, DEFAULT_REGISTRY, DESKTOP_COVERAGE_THRESHOLDS, WEB_MINIMAL_EXEMPTION_PATTERNS as DESKTOP_MINIMAL_EXEMPTION_PATTERNS, WEB_MINIMAL_EXEMPTION_PATTERNS, WEB_MODERATE_EXEMPTION_PATTERNS as DESKTOP_MODERATE_EXEMPTION_PATTERNS, WEB_MODERATE_EXEMPTION_PATTERNS, DOMAIN_COVERAGE_THRESHOLDS, DOMAIN_MINIMAL_EXEMPTION_PATTERNS, DOMAIN_MODERATE_EXEMPTION_PATTERNS, type DefineConfigInput, type DefineConfigResult, GLOBALS_ENV_KEY, IMPLEMENTATION_COVERAGE_THRESHOLDS, InstallScopesError, type InstallScopesPreset, LZI_BUN_INSTALL_CONFIG_FILE, LZI_SCOPES, type LziBunConfig, type LziBunInstallConfig, NPMJS_REGISTRY, PACKAGE_CORE_COVERAGE_THRESHOLDS, PACKAGE_SDK_COVERAGE_THRESHOLDS, PACKAGE_SHARED_COVERAGE_THRESHOLDS, SERVER_COVERAGE_THRESHOLDS, TYPE_ONLY_COVERAGE_THRESHOLDS, WEB_COVERAGE_THRESHOLDS, createBaseBunConfig, createCliBunConfig, createDesktopBunConfig, createDomainBunConfig, createImplementationBunConfig, createPackageCoreBunConfig, createPackageSdkBunConfig, createPackageSharedBunConfig, createServerBunConfig, createTypeOnlyBunConfig, createWebBunConfig, defineBunConfig, defineCliBunConfig, defineConfig, defineDesktopBunConfig, defineDomainBunConfig, defineImplementationBunConfig, definePackageCoreBunConfig, definePackageSdkBunConfig, definePackageSharedBunConfig, defineServerBunConfig, defineTypeOnlyBunConfig, defineWebBunConfig, mergeInstallScopes, mergeInstallScopesWithPreset, validateInstallScopesPreset };
|
|
1008
|
+
export { type BunConfigOptions, type BunConfigResult, type BunInstallConfig, type BunInstallScopes, type BunProjectSpecificOptions, type BunTestConfig, CLI_COVERAGE_THRESHOLDS, SERVER_MINIMAL_EXEMPTION_PATTERNS as CLI_MINIMAL_EXEMPTION_PATTERNS, SERVER_MINIMAL_EXEMPTION_PATTERNS, SERVER_MODERATE_EXEMPTION_PATTERNS as CLI_MODERATE_EXEMPTION_PATTERNS, SERVER_MODERATE_EXEMPTION_PATTERNS, type CoverageThreshold, DEFAULT_COVERAGE_DIR, DEFAULT_COVERAGE_IGNORE_PATTERNS, DEFAULT_COVERAGE_REPORTERS, DEFAULT_INCLUDE_PATTERNS, DEFAULT_REGISTRY, DESKTOP_COVERAGE_THRESHOLDS, WEB_MINIMAL_EXEMPTION_PATTERNS as DESKTOP_MINIMAL_EXEMPTION_PATTERNS, WEB_MINIMAL_EXEMPTION_PATTERNS, WEB_MODERATE_EXEMPTION_PATTERNS as DESKTOP_MODERATE_EXEMPTION_PATTERNS, WEB_MODERATE_EXEMPTION_PATTERNS, DOMAIN_COVERAGE_THRESHOLDS, DOMAIN_MINIMAL_EXEMPTION_PATTERNS, DOMAIN_MODERATE_EXEMPTION_PATTERNS, type DefineConfigInput, type DefineConfigResult, GLOBALS_ENV_KEY, IMPLEMENTATION_COVERAGE_THRESHOLDS, InstallScopesError, type InstallScopesPreset, LZI_BUN_INSTALL_CONFIG_FILE, LZI_SCOPES, type LziBunConfig, type LziBunInstallConfig, NPMJS_REGISTRY, PACKAGE_CORE_COVERAGE_THRESHOLDS, PACKAGE_SDK_COVERAGE_THRESHOLDS, PACKAGE_SHARED_COVERAGE_THRESHOLDS, SERVER_COVERAGE_THRESHOLDS, TYPE_ONLY_COVERAGE_THRESHOLDS, WEB_COVERAGE_THRESHOLDS, createBaseBunConfig, createCliBunConfig, createDesktopBunConfig, createDomainBunConfig, createImplementationBunConfig, createMonorepoRootBunConfig, createPackageCoreBunConfig, createPackageSdkBunConfig, createPackageSharedBunConfig, createServerBunConfig, createTypeOnlyBunConfig, createWebBunConfig, defineBunConfig, defineCliBunConfig, defineConfig, defineDesktopBunConfig, defineDomainBunConfig, defineImplementationBunConfig, defineMonorepoRootBunConfig, definePackageCoreBunConfig, definePackageSdkBunConfig, definePackageSharedBunConfig, defineServerBunConfig, defineTypeOnlyBunConfig, defineWebBunConfig, mergeInstallScopes, mergeInstallScopesWithPreset, validateInstallScopesPreset };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const e=[`**/node_modules/**`,`**/dist/**`,`**/out/**`],t=[`text`,`lcov`],n=`coverage`,r=[`src/**/*.test.ts`,`src/**/*.test.tsx`,`__tests__/**/*.test.ts`],i=`https://mirrors.cloud.tencent.com/npm/`,a=`https://registry.npmjs.org/`,o=/* @__PURE__ */ new Map([[`longzai-intelligence`,a],[`longzai-intelligence-agent-tools`,a],[`longzai-intelligence-audit`,a],[`longzai-intelligence-auth`,a],[`longzai-intelligence-builder`,a],[`longzai-intelligence-bun`,a],[`longzai-intelligence-cache`,a],[`longzai-intelligence-cli`,a],[`longzai-intelligence-config`,a],[`longzai-intelligence-design-system`,a],[`longzai-intelligence-dev-tools`,a],[`longzai-intelligence-electron`,a],[`longzai-intelligence-error`,a],[`longzai-intelligence-event-bus`,a],[`longzai-intelligence-logger`,a],[`longzai-intelligence-okr`,a],[`longzai-intelligence-oxfmt`,a],[`longzai-intelligence-oxlint`,a],[`longzai-intelligence-plugin`,a],[`longzai-intelligence-shared-config`,a],[`longzai-intelligence-shared-kernel`,a],[`longzai-intelligence-scripts`,a],[`longzai-intelligence-standards`,a],[`longzai-intelligence-transport`,a],[`longzai-intelligence-typescript`,a],[`longzai-intelligence-vscode`,a],[`longzai-intelligence-zod`,a],[`longzai-intelligence-prettier`,a],[`longzai-intelligence-tsdown`,a],[`longzai-intelligence-vitest`,a],[`longzai-intelligence-academy`,a],[`longzai-intelligence-accounting`,a],[`longzai-intelligence-activity`,a],[`longzai-intelligence-administration`,a],[`longzai-intelligence-agent`,a],[`longzai-intelligence-agent-collaboration`,a],[`longzai-intelligence-agent-endless`,a],[`longzai-intelligence-agent-migrator`,a],[`longzai-intelligence-agent-prompts`,a],[`longzai-intelligence-agent-relation`,a],[`longzai-intelligence-agent-session`,a],[`longzai-intelligence-agent-swarm`,a],[`longzai-intelligence-agent-ui`,a],[`longzai-intelligence-analytics`,a],[`longzai-intelligence-api`,a],[`longzai-intelligence-app-gallery`,a],[`longzai-intelligence-app-store`,a],[`longzai-intelligence-architecture`,a],[`longzai-intelligence-architecture-expert`,a],[`longzai-intelligence-arkts`,a],[`longzai-intelligence-art`,a],[`longzai-intelligence-artifact`,a],[`longzai-intelligence-artifact-registry`,a],[`longzai-intelligence-arxiv`,a],[`longzai-intelligence-arxiv-data`,a],[`longzai-intelligence-arxiv-markdown`,a],[`longzai-intelligence-atomic`,a],[`longzai-intelligence-attention`,a],[`longzai-intelligence-audio`,a],[`longzai-intelligence-audio-assistant`,a],[`longzai-intelligence-augmented-reality`,a],[`longzai-intelligence-auto-research`,a],[`longzai-intelligence-automate`,a],[`longzai-intelligence-benchmark`,a],[`longzai-intelligence-bilibili`,a],[`longzai-intelligence-bilibili-data`,a],[`longzai-intelligence-bilibili-markdown`,a],[`longzai-intelligence-billing`,a],[`longzai-intelligence-blackboard`,a],[`longzai-intelligence-blackboard-data`,a],[`longzai-intelligence-blackboard-markdown`,a],[`longzai-intelligence-bluetooth`,a],[`longzai-intelligence-board`,a],[`longzai-intelligence-bounty-registry`,a],[`longzai-intelligence-brawl-stars`,a],[`longzai-intelligence-broker`,a],[`longzai-intelligence-business-plan`,a],[`longzai-intelligence-calendar`,a],[`longzai-intelligence-camera`,a],[`longzai-intelligence-canvas`,a],[`longzai-intelligence-capture`,a],[`longzai-intelligence-change-maker`,a],[`longzai-intelligence-changelog`,a],[`longzai-intelligence-changeset`,a],[`longzai-intelligence-chat`,a],[`longzai-intelligence-chess`,a],[`longzai-intelligence-circuit`,a],[`longzai-intelligence-claude-code`,a],[`longzai-intelligence-clipboard-share`,a],[`longzai-intelligence-closed-loop`,a],[`longzai-intelligence-closed-loop-data`,a],[`longzai-intelligence-closed-loop-markdown`,a],[`longzai-intelligence-cloud`,a],[`longzai-intelligence-code`,a],[`longzai-intelligence-code-agent`,a],[`longzai-intelligence-code-reviewer`,a],[`longzai-intelligence-codebase-research`,a],[`longzai-intelligence-coding-expert`,a],[`longzai-intelligence-collaboration`,a],[`longzai-intelligence-collective`,a],[`longzai-intelligence-commerce`,a],[`longzai-intelligence-commit`,a],[`longzai-intelligence-competition-registry`,a],[`longzai-intelligence-composer`,a],[`longzai-intelligence-concrete`,a],[`longzai-intelligence-concrete-industry`,a],[`longzai-intelligence-config-registry`,a],[`longzai-intelligence-context`,a],[`longzai-intelligence-contract`,a],[`longzai-intelligence-contract-parity`,a],[`longzai-intelligence-cookery`,a],[`longzai-intelligence-country`,a],[`longzai-intelligence-creativity`,a],[`longzai-intelligence-cross-platform`,a],[`longzai-intelligence-crossref`,a],[`longzai-intelligence-crossref-markdown`,a],[`longzai-intelligence-crypto`,a],[`longzai-intelligence-customer-service`,a],[`longzai-intelligence-cut`,a],[`longzai-intelligence-dag`,a],[`longzai-intelligence-dashboard`,a],[`longzai-intelligence-data`,a],[`longzai-intelligence-data-science`,a],[`longzai-intelligence-database`,a],[`longzai-intelligence-decenterlization`,a],[`longzai-intelligence-decision`,a],[`longzai-intelligence-deepseek`,a],[`longzai-intelligence-deepseek-harness`,a],[`longzai-intelligence-deepseek-harness-knowledge`,a],[`longzai-intelligence-delta`,a],[`longzai-intelligence-design`,a],[`longzai-intelligence-design-lab`,a],[`longzai-intelligence-device`,a],[`longzai-intelligence-discipline`,a],[`longzai-intelligence-discovery`,a],[`longzai-intelligence-disk-space`,a],[`longzai-intelligence-disk-space-data`,a],[`longzai-intelligence-disk-space-markdown`,a],[`longzai-intelligence-distill`,a],[`longzai-intelligence-docs`,a],[`longzai-intelligence-docs-registry`,a],[`longzai-intelligence-document`,a],[`longzai-intelligence-douyin`,a],[`longzai-intelligence-douyin-data`,a],[`longzai-intelligence-douyin-markdown`,a],[`longzai-intelligence-drone`,a],[`longzai-intelligence-edge`,a],[`longzai-intelligence-electrobun`,a],[`longzai-intelligence-elysia`,a],[`longzai-intelligence-embodied`,a],[`longzai-intelligence-empowerment`,a],[`longzai-intelligence-engineering`,a],[`longzai-intelligence-env`,a],[`longzai-intelligence-env-registry`,a],[`longzai-intelligence-equilibrium`,a],[`longzai-intelligence-eslint`,a],[`longzai-intelligence-event`,a],[`longzai-intelligence-event-tracking`,a],[`longzai-intelligence-evolution`,a],[`longzai-intelligence-excel`,a],[`longzai-intelligence-exchange-rate`,a],[`longzai-intelligence-execution`,a],[`longzai-intelligence-experience`,a],[`longzai-intelligence-expert`,a],[`longzai-intelligence-expert-thinking`,a],[`longzai-intelligence-fde`,a],[`longzai-intelligence-feature-flags`,a],[`longzai-intelligence-features`,a],[`longzai-intelligence-federation`,a],[`longzai-intelligence-feed`,a],[`longzai-intelligence-feishu`,a],[`longzai-intelligence-file-processing`,a],[`longzai-intelligence-fitness`,a],[`longzai-intelligence-font`,a],[`longzai-intelligence-game`,a],[`longzai-intelligence-game-studio`,a],[`longzai-intelligence-gantt`,a],[`longzai-intelligence-gateway`,a],[`longzai-intelligence-geo`,a],[`longzai-intelligence-gesture`,a],[`longzai-intelligence-git`,a],[`longzai-intelligence-git-insight`,a],[`longzai-intelligence-gitcode`,a],[`longzai-intelligence-github-data`,a],[`longzai-intelligence-github-markdown`,a],[`longzai-intelligence-github-trending`,a],[`longzai-intelligence-github-trending-data`,a],[`longzai-intelligence-github-trending-markdown`,a],[`longzai-intelligence-globals`,a],[`longzai-intelligence-growth`,a],[`longzai-intelligence-growth-registry`,a],[`longzai-intelligence-handover`,a],[`longzai-intelligence-hardware`,a],[`longzai-intelligence-harness`,a],[`longzai-intelligence-healthcare`,a],[`longzai-intelligence-history`,a],[`longzai-intelligence-horizon`,a],[`longzai-intelligence-human-resource`,a],[`longzai-intelligence-i18n`,a],[`longzai-intelligence-idea`,a],[`longzai-intelligence-identity`,a],[`longzai-intelligence-ime`,a],[`longzai-intelligence-impact-maker`,a],[`longzai-intelligence-insight`,a],[`longzai-intelligence-intellectual-property`,a],[`longzai-intelligence-intent`,a],[`longzai-intelligence-intentionomics`,a],[`longzai-intelligence-interview`,a],[`longzai-intelligence-issues`,a],[`longzai-intelligence-jev`,a],[`longzai-intelligence-jev-knowledge`,a],[`longzai-intelligence-jev-system`,a],[`longzai-intelligence-journal-of-finance-data`,a],[`longzai-intelligence-journal-of-financial-and-quantitative-analysis-data`,a],[`longzai-intelligence-journal-of-financial-economics-data`,a],[`longzai-intelligence-key-management`,a],[`longzai-intelligence-knowledge`,a],[`longzai-intelligence-knowledge-graph`,a],[`longzai-intelligence-knowledge-markdown`,a],[`longzai-intelligence-kol`,a],[`longzai-intelligence-kol-data`,a],[`longzai-intelligence-kol-markdown`,a],[`longzai-intelligence-kol-registry`,a],[`longzai-intelligence-language-model`,a],[`longzai-intelligence-law`,a],[`longzai-intelligence-law-data`,a],[`longzai-intelligence-law-markdown`,a],[`longzai-intelligence-lean`,a],[`longzai-intelligence-legal`,a],[`longzai-intelligence-liquid-glass`,a],[`longzai-intelligence-living-previewer`,a],[`longzai-intelligence-loop`,a],[`longzai-intelligence-machine-learning`,a],[`longzai-intelligence-mail`,a],[`longzai-intelligence-mandala`,a],[`longzai-intelligence-map`,a],[`longzai-intelligence-markdown`,a],[`longzai-intelligence-marketing`,a],[`longzai-intelligence-marketplace`,a],[`longzai-intelligence-math`,a],[`longzai-intelligence-mcn`,a],[`longzai-intelligence-mcp`,a],[`longzai-intelligence-media`,a],[`longzai-intelligence-meditation`,a],[`longzai-intelligence-memory`,a],[`longzai-intelligence-mentor`,a],[`longzai-intelligence-messaging`,a],[`longzai-intelligence-mindset`,a],[`longzai-intelligence-minimax-knowldege`,a],[`longzai-intelligence-mission-control`,a],[`longzai-intelligence-model-fusion`,a],[`longzai-intelligence-model-gateway`,a],[`longzai-intelligence-moment`,a],[`longzai-intelligence-montage`,a],[`longzai-intelligence-movie`,a],[`longzai-intelligence-music-video`,a],[`longzai-intelligence-music-video-data`,a],[`longzai-intelligence-narrative-analyzer`,a],[`longzai-intelligence-nation`,a],[`longzai-intelligence-nginx`,a],[`longzai-intelligence-notification`,a],[`longzai-intelligence-npm`,a],[`longzai-intelligence-npm-registry`,a],[`longzai-intelligence-npm-registry-data`,a],[`longzai-intelligence-observability`,a],[`longzai-intelligence-office-industry`,a],[`longzai-intelligence-okr-data`,a],[`longzai-intelligence-okr-markdown`,a],[`longzai-intelligence-older`,a],[`longzai-intelligence-one`,a],[`longzai-intelligence-one-digest`,a],[`longzai-intelligence-one-digest-data`,a],[`longzai-intelligence-one-digest-markdown`,a],[`longzai-intelligence-one-digest-registry`,a],[`longzai-intelligence-one-trae-works`,a],[`longzai-intelligence-ontology`,a],[`longzai-intelligence-open-pencil`,a],[`longzai-intelligence-open-router`,a],[`longzai-intelligence-open-router-data`,a],[`longzai-intelligence-open-router-markdown`,a],[`longzai-intelligence-opencode`,a],[`longzai-intelligence-opportunity`,a],[`longzai-intelligence-orchestry`,a],[`longzai-intelligence-organization`,a],[`longzai-intelligence-orm`,a],[`longzai-intelligence-outfit`,a],[`longzai-intelligence-outsourcing`,a],[`longzai-intelligence-overseas`,a],[`longzai-intelligence-pagination`,a],[`longzai-intelligence-panel`,a],[`longzai-intelligence-paper-reader`,a],[`longzai-intelligence-parametric-industry`,a],[`longzai-intelligence-partner`,a],[`longzai-intelligence-pay`,a],[`longzai-intelligence-payment`,a],[`longzai-intelligence-permission`,a],[`longzai-intelligence-personal-assistant`,a],[`longzai-intelligence-pii`,a],[`longzai-intelligence-pipeline`,a],[`longzai-intelligence-policy-research`,a],[`longzai-intelligence-portal`,a],[`longzai-intelligence-previewer`,a],[`longzai-intelligence-prezi`,a],[`longzai-intelligence-prisma`,a],[`longzai-intelligence-product-requirement`,a],[`longzai-intelligence-product-research`,a],[`longzai-intelligence-programming-language`,a],[`longzai-intelligence-project`,a],[`longzai-intelligence-project-data`,a],[`longzai-intelligence-project-markdown`,a],[`longzai-intelligence-project-portfolio`,a],[`longzai-intelligence-project-registry`,a],[`longzai-intelligence-promotion`,a],[`longzai-intelligence-prospect`,a],[`longzai-intelligence-psychoanalyst`,a],[`longzai-intelligence-publication`,a],[`longzai-intelligence-qcloud`,a],[`longzai-intelligence-quant`,a],[`longzai-intelligence-queue`,a],[`longzai-intelligence-react-devtools`,a],[`longzai-intelligence-react-native`,a],[`longzai-intelligence-reading-shanhaijing`,a],[`longzai-intelligence-readme`,a],[`longzai-intelligence-reasoning`,a],[`longzai-intelligence-records`,a],[`longzai-intelligence-recruitment`,a],[`longzai-intelligence-release`,a],[`longzai-intelligence-release-markdown`,a],[`longzai-intelligence-reliability`,a],[`longzai-intelligence-remote-desktop`,a],[`longzai-intelligence-remotion`,a],[`longzai-intelligence-report`,a],[`longzai-intelligence-repository`,a],[`longzai-intelligence-repository-handover`,a],[`longzai-intelligence-resilience`,a],[`longzai-intelligence-reverse-engineering`,a],[`longzai-intelligence-review-of-financial-studies-data`,a],[`longzai-intelligence-reviewer`,a],[`longzai-intelligence-risk`,a],[`longzai-intelligence-roadmap`,a],[`longzai-intelligence-roadmap-data`,a],[`longzai-intelligence-roadmap-markdown`,a],[`longzai-intelligence-router`,a],[`longzai-intelligence-rss`,a],[`longzai-intelligence-rss-markdown`,a],[`longzai-intelligence-runtime`,a],[`longzai-intelligence-sales`,a],[`longzai-intelligence-scanner`,a],[`longzai-intelligence-schedule-markdown`,a],[`longzai-intelligence-schedule-registry`,a],[`longzai-intelligence-scheduler`,a],[`longzai-intelligence-schema`,a],[`longzai-intelligence-scope`,a],[`longzai-intelligence-scrape`,a],[`longzai-intelligence-search`,a],[`longzai-intelligence-security`,a],[`longzai-intelligence-security-bounty-registry`,a],[`longzai-intelligence-security-inventory`,a],[`longzai-intelligence-serverless`,a],[`longzai-intelligence-share`,a],[`longzai-intelligence-short-video`,a],[`longzai-intelligence-skill`,a],[`longzai-intelligence-slider`,a],[`longzai-intelligence-smart-transition`,a],[`longzai-intelligence-sms`,a],[`longzai-intelligence-software-factory`,a],[`longzai-intelligence-soul`,a],[`longzai-intelligence-specs`,a],[`longzai-intelligence-spline`,a],[`longzai-intelligence-sports`,a],[`longzai-intelligence-ssl`,a],[`longzai-intelligence-startup`,a],[`longzai-intelligence-storage`,a],[`longzai-intelligence-strategy`,a],[`longzai-intelligence-strategy-consulting`,a],[`longzai-intelligence-supply-chain`,a],[`longzai-intelligence-support`,a],[`longzai-intelligence-survey`,a],[`longzai-intelligence-talk`,a],[`longzai-intelligence-taro`,a],[`longzai-intelligence-task`,a],[`longzai-intelligence-task-data`,a],[`longzai-intelligence-task-markdown`,a],[`longzai-intelligence-telemetry`,a],[`longzai-intelligence-templates`,a],[`longzai-intelligence-tenant`,a],[`longzai-intelligence-testing`,a],[`longzai-intelligence-thinking`,a],[`longzai-intelligence-token-exchange`,a],[`longzai-intelligence-token-finance`,a],[`longzai-intelligence-token-handover`,a],[`longzai-intelligence-topology`,a],[`longzai-intelligence-tracking-nation`,a],[`longzai-intelligence-tracking-qbitai`,a],[`longzai-intelligence-tracking-terrytao`,a],[`longzai-intelligence-tracking-xiao-lin`,a],[`longzai-intelligence-tracking-yu-bo`,a],[`longzai-intelligence-trader`,a],[`longzai-intelligence-trae`,a],[`longzai-intelligence-training-data`,a],[`longzai-intelligence-translator`,a],[`longzai-intelligence-travel`,a],[`longzai-intelligence-trending`,a],[`longzai-intelligence-tsdoc`,a],[`longzai-intelligence-tsgo`,a],[`longzai-intelligence-twitter`,a],[`longzai-intelligence-twitter-data`,a],[`longzai-intelligence-twitter-markdown`,a],[`longzai-intelligence-typeorm`,a],[`longzai-intelligence-usecase`,a],[`longzai-intelligence-user-experience`,a],[`longzai-intelligence-user-research`,a],[`longzai-intelligence-userscript`,a],[`longzai-intelligence-utils`,a],[`longzai-intelligence-value-chain`,a],[`longzai-intelligence-vector-search`,a],[`longzai-intelligence-vendor`,a],[`longzai-intelligence-venture-capital`,a],[`longzai-intelligence-version`,a],[`longzai-intelligence-video-generation`,a],[`longzai-intelligence-video-player`,a],[`longzai-intelligence-voice`,a],[`longzai-intelligence-voice-recorder`,a],[`longzai-intelligence-vscode-developer`,a],[`longzai-intelligence-vuln`,a],[`longzai-intelligence-vuln-data`,a],[`longzai-intelligence-vuln-markdown`,a],[`longzai-intelligence-vuln-registry`,a],[`longzai-intelligence-warehouse`,a],[`longzai-intelligence-wealth`,a],[`longzai-intelligence-web3`,a],[`longzai-intelligence-webhook`,a],[`longzai-intelligence-websocket`,a],[`longzai-intelligence-wechat`,a],[`longzai-intelligence-wechat-miniprogram`,a],[`longzai-intelligence-wechat-pay`,a],[`longzai-intelligence-wifi`,a],[`longzai-intelligence-wiki`,a],[`longzai-intelligence-word`,a],[`longzai-intelligence-work`,a],[`longzai-intelligence-worker`,a],[`longzai-intelligence-workflow`,a],[`longzai-intelligence-workflow-data`,a],[`longzai-intelligence-workflow-markdown`,a],[`longzai-intelligence-workflow-registry`,a],[`longzai-intelligence-workspace`,a],[`longzai-intelligence-writer`,a],[`longzai-intelligence-xiaohongshu`,a],[`longzai-intelligence-xiaohongshu-data`,a],[`longzai-intelligence-xiaohongshu-markdown`,a],[`longzai-intelligence-youtube`,a],[`longzai-intelligence-youtube-data`,a],[`longzai-intelligence-youtube-markdown`,a],[`longzai-intelligence-zcode`,a],[`longzai-intelligence-zcode-security`,a],[`longzai-intelligence-zed-delta-knowledge`,a],[`longzai-intelligence-zhihu`,a],[`longzai-intelligence-zhihu-data`,a],[`longzai-intelligence-zhihu-markdown`,a]]),s=`LZI_GLOBALS_ROOT`,c=`lzi-bun-install.config.ts`,l=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;var u=class extends Error{details;constructor(e,t=`install.extraScopes`){super(`${t} 校验失败:\n${e.map(e=>`- ${e}`).join(`
|
|
2
|
-
`)}`),this.name=`InstallScopesError`,this.details=e}};function d(e){if(typeof e!=`string`)return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function f(e,t,n,r){let i=e instanceof Map?Object.fromEntries(e):{...e},a=[],o={};for(let[n,i]of Object.entries(t??{})){let t=n.replace(/^@+/,``);t.length===0||!l.test(t)?a.push(`\`${n}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`):d(i)?o[t]!==void 0&&o[t]!==i?a.push(`\`${t}\` 在 extraScopes 内重复声明且安装源不一致`):(e instanceof Map?e.has(t):Object.hasOwn(e,t))?a.push(`\`${t}\` 与预定义 scope 冲突(预定义不可覆盖,如需调整请在 ${r} 维护)`):o[t]=i:a.push(`\`${n}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`)}let s=/* @__PURE__ */ new Set;for(let e of n??[]){let t=e.replace(/^@+/,``);t.length===0||!l.test(t)?a.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`):o[t]===void 0?s.add(t):a.push(`\`${t}\` 同时出现在 extraScopes 与 privateScopes(追加公网安装源与私有轨声明矛盾)`)}if(a.length>0)throw new u(a);for(let[e,t]of Object.entries(o))i[e]=t;for(let e of s)delete i[e];return i}function p(e){return f(o,e,void 0,`LZI_SCOPES 包内真源`)}function m(e,t,n,r){let i=f(e,t,n,`globals 仓 lzi-bun-install.config.ts`),o=r?.replace(/^@+/,``),s=new Set((n??[]).map(e=>e.replace(/^@+/,``)));return o!==void 0&&l.test(o)&&!Object.hasOwn(i,o)&&!s.has(o)&&(i[o]=a),i}function h(e){let t=[];if(typeof e!=`object`||!e)throw new u([`default export 必须是对象({ scopes: { ... } })`],`globals 预设 lzi-bun-install.config.ts`);let n=typeof e==`object`&&e&&`scopes`in e?e.scopes:void 0;if(typeof n!=`object`||!n||Array.isArray(n))throw new u([`scopes 必须是 scope → registry 的对象映射`],`globals 预设 lzi-bun-install.config.ts`);let r={};for(let[e,i]of Object.entries(n))l.test(e)?typeof i!=`string`||!d(i)?t.push(`\`${e}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`):r[e]=i:t.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,不含 @ 前缀)`);if(t.length>0)throw new u(t,`globals 预设 lzi-bun-install.config.ts`);if(Object.keys(r).length===0)throw new u([`scopes 清单为空(真源不允许空清单)`],`globals 预设 lzi-bun-install.config.ts`);return r}const g=[`**/infrastructure/entities/**`,`**/infrastructure/repositories/**`,`**/infrastructure/mappers/**`,`**/infrastructure/schemas/**`,`**/infrastructure/adapters/**`,`**/typeorm.ts`,`**/application/tokens.ts`,`**/application/index.ts`,`**/domain/index.ts`,`**/domain/entities/index.ts`,`**/domain/repositories/**`,`**/domain/types/**`,`**/domain/schemas/**`,`**/domain/events/**`,`**/domain/errors/**`,`src/index.ts`],
|
|
2
|
+
`)}`),this.name=`InstallScopesError`,this.details=e}};function d(e){if(typeof e!=`string`)return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function f(e,t,n,r){let i=e instanceof Map?Object.fromEntries(e):{...e},a=[],o={};for(let[n,i]of Object.entries(t??{})){let t=n.replace(/^@+/,``);t.length===0||!l.test(t)?a.push(`\`${n}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`):d(i)?o[t]!==void 0&&o[t]!==i?a.push(`\`${t}\` 在 extraScopes 内重复声明且安装源不一致`):(e instanceof Map?e.has(t):Object.hasOwn(e,t))?a.push(`\`${t}\` 与预定义 scope 冲突(预定义不可覆盖,如需调整请在 ${r} 维护)`):o[t]=i:a.push(`\`${n}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`)}let s=/* @__PURE__ */ new Set;for(let e of n??[]){let t=e.replace(/^@+/,``);t.length===0||!l.test(t)?a.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`):o[t]===void 0?s.add(t):a.push(`\`${t}\` 同时出现在 extraScopes 与 privateScopes(追加公网安装源与私有轨声明矛盾)`)}if(a.length>0)throw new u(a);for(let[e,t]of Object.entries(o))i[e]=t;for(let e of s)delete i[e];return i}function p(e){return f(o,e,void 0,`LZI_SCOPES 包内真源`)}function m(e,t,n,r){let i=f(e,t,n,`globals 仓 lzi-bun-install.config.ts`),o=r?.replace(/^@+/,``),s=new Set((n??[]).map(e=>e.replace(/^@+/,``)));return o!==void 0&&l.test(o)&&!Object.hasOwn(i,o)&&!s.has(o)&&(i[o]=a),i}function h(e){let t=[];if(typeof e!=`object`||!e)throw new u([`default export 必须是对象({ scopes: { ... } })`],`globals 预设 lzi-bun-install.config.ts`);let n=typeof e==`object`&&e&&`scopes`in e?e.scopes:void 0;if(typeof n!=`object`||!n||Array.isArray(n))throw new u([`scopes 必须是 scope → registry 的对象映射`],`globals 预设 lzi-bun-install.config.ts`);let r={};for(let[e,i]of Object.entries(n))l.test(e)?typeof i!=`string`||!d(i)?t.push(`\`${e}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`):r[e]=i:t.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,不含 @ 前缀)`);if(t.length>0)throw new u(t,`globals 预设 lzi-bun-install.config.ts`);if(Object.keys(r).length===0)throw new u([`scopes 清单为空(真源不允许空清单)`],`globals 预设 lzi-bun-install.config.ts`);return r}const g=[`**/infrastructure/entities/**`,`**/infrastructure/repositories/**`,`**/infrastructure/mappers/**`,`**/infrastructure/schemas/**`,`**/infrastructure/adapters/**`,`**/typeorm.ts`,`**/application/tokens.ts`,`**/application/index.ts`,`**/domain/index.ts`,`**/domain/entities/index.ts`,`**/domain/repositories/**`,`**/domain/types/**`,`**/domain/schemas/**`,`**/domain/events/**`,`**/domain/errors/**`,`src/index.ts`],_=[`**/infrastructure/**`,`**/typeorm.ts`,`**/application/tokens.ts`,`**/application/index.ts`,`**/application/port-adapters/**`,`**/application/mappers/**`,`**/application/dtos/**`,`**/domain/index.ts`,`**/domain/entities/index.ts`,`**/domain/repositories/**`,`**/domain/types/**`,`**/domain/events/**`,`**/domain/errors/**`,`src/index.ts`],v=[`**/*.module.ts`,`**/index.ts`,`src/index.ts`],y=[`**/*.module.ts`,`**/*.dto.ts`,`**/*.controller.ts`,`**/*.handler.ts`,`**/*.guard.ts`,`**/*.interceptor.ts`,`**/*.filter.ts`,`**/*.strategy.ts`,`**/*.scheduler.ts`,`**/*.provider.ts`,`**/*.gateway.ts`,`**/*.decorator.ts`,`**/infrastructure/**`,`**/migrations/**`,`**/index.ts`,`src/index.ts`],b=[`**/index.ts`,`src/index.ts`],x=[`src/app/**`,`src/components/**`,`src/features/**/components/**`,`src/hooks/**`,`src/providers/**`,`src/i18n/**`,`src/types/**`,`**/*.css`,`**/*.d.ts`,`**/index.ts`,`src/index.ts`],S={lines:.9,functions:.9,statements:.9},C={lines:.8,functions:.8,statements:.8},w={lines:.85,functions:.85,statements:.85},T={lines:.8,functions:.8,statements:.8},E={lines:.8,functions:.8,statements:.8},D={lines:.7,functions:.7,statements:.7},O={lines:.6,functions:.6,statements:.6},k={lines:.6,functions:.6,statements:.6},A={lines:.7,functions:.7,statements:.7},ee={lines:0,functions:0,statements:0};function j(e){if(e!==void 0)return typeof e==`number`?{lines:e,functions:e,statements:e}:{...e}}function M(t,n,r){let i=n??[],a=r===void 0?[]:Array.isArray(r)?r:[r];return[...e,...t,...i,...a]}function N(e){let{enableCoverage:n=!0,coverageThresholds:i,extraCoverageIgnorePatterns:a,test:o}=e,s=o?.include??r,c={passWithNoTests:o?.passWithNoTests??!0,include:s,...o};if(!n)return c;let l=j(i),u=j(o?.coverageThreshold),d={...l,...u},f=d.lines!==void 0||d.functions!==void 0||d.statements!==void 0,p=M([],a,o?.coveragePathIgnorePatterns);return c.coverage=!0,c.coverageSkipTestFiles=o?.coverageSkipTestFiles??!0,c.coverageReporter=o?.coverageReporter??t,c.coverageDir=o?.coverageDir??`coverage`,c.coveragePathIgnorePatterns=p,f&&(c.coverageThreshold=d),o?.coverageIgnoreSourcemaps!==void 0&&(c.coverageIgnoreSourcemaps=o.coverageIgnoreSourcemaps),c}function P(e={}){return{test:N(e)}}function F(e={}){let t=P(e);return e.install===void 0?t:{...t,install:e.install}}function I(e={}){return F(e)}function L(e={}){return P({...e,coverageThresholds:S,extraCoverageIgnorePatterns:[...g,...e.extraCoverageIgnorePatterns??[]]})}function R(e={}){return L(e)}function z(e={}){return P({...e,coverageThresholds:C,extraCoverageIgnorePatterns:[...g,...e.extraCoverageIgnorePatterns??[]]})}function te(e={}){return z(e)}function B(e={}){let{install:t,...n}=e,r=P({...n,enableCoverage:!1,test:{...n.test,passWithNoTests:!0}});return t===void 0?r:{...r,install:t}}function ne(e={}){return B(e)}const V=[`**/types.ts`,`**/index.ts`,`**/constants.ts`,`src/index.ts`];function H(e={}){return P({...e,coverageThresholds:w,extraCoverageIgnorePatterns:[...V,...e.extraCoverageIgnorePatterns??[]]})}function U(e={}){return H(e)}function W(e={}){return P({...e,coverageThresholds:T,extraCoverageIgnorePatterns:[...V,...e.extraCoverageIgnorePatterns??[]]})}function G(e={}){return W(e)}function K(e={}){return P({...e,coverageThresholds:E,extraCoverageIgnorePatterns:[...V,...e.extraCoverageIgnorePatterns??[]]})}function q(e={}){return K(e)}function J(e={}){return P({...e,coverageThresholds:D,extraCoverageIgnorePatterns:[...y,...e.extraCoverageIgnorePatterns??[]]})}function Y(e={}){return J(e)}function X(e={}){return P({...e,coverageThresholds:O,extraCoverageIgnorePatterns:[...x,...e.extraCoverageIgnorePatterns??[]]})}function re(e={}){return X(e)}function Z(e={}){return P({...e,coverageThresholds:k,extraCoverageIgnorePatterns:[...x,...e.extraCoverageIgnorePatterns??[]]})}function ie(e={}){return Z(e)}function Q(e={}){return P({...e,coverageThresholds:A,extraCoverageIgnorePatterns:[...y,...e.extraCoverageIgnorePatterns??[]]})}function ae(e={}){return Q(e)}function $(e={}){return P({...e,enableCoverage:!1,test:{...e.test,passWithNoTests:!0}})}function oe(e={}){return $(e)}export{A as CLI_COVERAGE_THRESHOLDS,v as CLI_MINIMAL_EXEMPTION_PATTERNS,v as SERVER_MINIMAL_EXEMPTION_PATTERNS,y as CLI_MODERATE_EXEMPTION_PATTERNS,y as SERVER_MODERATE_EXEMPTION_PATTERNS,n as DEFAULT_COVERAGE_DIR,e as DEFAULT_COVERAGE_IGNORE_PATTERNS,t as DEFAULT_COVERAGE_REPORTERS,r as DEFAULT_INCLUDE_PATTERNS,i as DEFAULT_REGISTRY,k as DESKTOP_COVERAGE_THRESHOLDS,b as DESKTOP_MINIMAL_EXEMPTION_PATTERNS,b as WEB_MINIMAL_EXEMPTION_PATTERNS,x as DESKTOP_MODERATE_EXEMPTION_PATTERNS,x as WEB_MODERATE_EXEMPTION_PATTERNS,S as DOMAIN_COVERAGE_THRESHOLDS,g as DOMAIN_MINIMAL_EXEMPTION_PATTERNS,_ as DOMAIN_MODERATE_EXEMPTION_PATTERNS,s as GLOBALS_ENV_KEY,C as IMPLEMENTATION_COVERAGE_THRESHOLDS,u as InstallScopesError,c as LZI_BUN_INSTALL_CONFIG_FILE,o as LZI_SCOPES,a as NPMJS_REGISTRY,w as PACKAGE_CORE_COVERAGE_THRESHOLDS,E as PACKAGE_SDK_COVERAGE_THRESHOLDS,T as PACKAGE_SHARED_COVERAGE_THRESHOLDS,D as SERVER_COVERAGE_THRESHOLDS,ee as TYPE_ONLY_COVERAGE_THRESHOLDS,O as WEB_COVERAGE_THRESHOLDS,P as createBaseBunConfig,Q as createCliBunConfig,Z as createDesktopBunConfig,L as createDomainBunConfig,z as createImplementationBunConfig,B as createMonorepoRootBunConfig,H as createPackageCoreBunConfig,K as createPackageSdkBunConfig,W as createPackageSharedBunConfig,J as createServerBunConfig,$ as createTypeOnlyBunConfig,X as createWebBunConfig,I as defineBunConfig,ae as defineCliBunConfig,F as defineConfig,ie as defineDesktopBunConfig,R as defineDomainBunConfig,te as defineImplementationBunConfig,ne as defineMonorepoRootBunConfig,U as definePackageCoreBunConfig,q as definePackageSdkBunConfig,G as definePackageSharedBunConfig,Y as defineServerBunConfig,oe as defineTypeOnlyBunConfig,re as defineWebBunConfig,p as mergeInstallScopes,m as mergeInstallScopesWithPreset,h as validateInstallScopesPreset};
|