@moneko/core 3.55.1 → 3.55.2-beta.0

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.
Files changed (133) hide show
  1. package/lib/bin/build-app.d.mts +16 -0
  2. package/lib/bin/build.d.mts +2 -0
  3. package/lib/bin/changelog.d.mts +1 -0
  4. package/lib/bin/commit-lint.d.mts +2 -0
  5. package/lib/bin/eslint.d.mts +1 -0
  6. package/lib/bin/file.d.mts +2 -0
  7. package/lib/bin/git-hooks.d.mts +1 -0
  8. package/lib/bin/help.d.mts +2 -0
  9. package/lib/bin/index.d.mts +2 -0
  10. package/lib/bin/lessc.d.mts +1 -0
  11. package/lib/bin/pin.d.mts +6 -0
  12. package/lib/bin/pure-lint.d.mts +2 -0
  13. package/lib/bin/server.d.mts +2 -0
  14. package/lib/bin/setup.d.mts +2 -0
  15. package/lib/bin/start.d.mts +2 -0
  16. package/lib/bin/stylelint.d.mts +2 -0
  17. package/lib/bin/tsc.d.mts +2 -0
  18. package/lib/bin/utils/bundle-app.d.mts +2 -0
  19. package/lib/bin/utils/config.d.mts +6 -0
  20. package/lib/bin/utils/get-commit-files.d.mts +2 -0
  21. package/lib/bin/utils/setup-swcrc.d.mts +2 -0
  22. package/lib/build/common.d.mts +3 -0
  23. package/lib/build/server.d.mts +3 -0
  24. package/lib/build.d.mts +1 -0
  25. package/lib/commom/ca.d.mts +8 -0
  26. package/lib/commom/check-npm.d.mts +4 -0
  27. package/lib/commom/corepack.d.mts +11 -0
  28. package/lib/commom/diff-object.d.mts +2 -0
  29. package/lib/commom/esm.d.mts +2 -0
  30. package/lib/commom/has-pkg.d.mts +2 -0
  31. package/lib/commom/host.d.mts +1 -0
  32. package/lib/commom/is-ci-environment.d.mts +6 -0
  33. package/lib/commom/log.d.mts +2 -0
  34. package/lib/commom/match-path.d.mts +22 -0
  35. package/lib/commom/mime.d.mts +2 -0
  36. package/lib/commom/module-resolve.d.mts +2 -0
  37. package/lib/commom/net.d.mts +2 -0
  38. package/lib/commom/open.d.mts +2 -0
  39. package/lib/commom/parse-args.d.mts +2 -0
  40. package/lib/commom/parse-module-meta.d.mts +9 -0
  41. package/lib/commom/paths.d.mts +52 -0
  42. package/lib/commom/print-log.d.mts +15 -0
  43. package/lib/commom/reactive-object.d.mts +10 -0
  44. package/lib/commom/require.d.mts +2 -0
  45. package/lib/commom/rule.d.mts +26 -0
  46. package/lib/commom/setup-env.d.mts +6 -0
  47. package/lib/commom/sigint-exit.d.mts +2 -0
  48. package/lib/commom/timer.d.mts +12 -0
  49. package/lib/commom/transform-solid-js.d.mts +18 -0
  50. package/lib/common.d.mts +3 -0
  51. package/lib/config.d.mts +4 -0
  52. package/lib/dev/config.d.mts +4 -0
  53. package/lib/dev/generate-progress-html.d.mts +6 -0
  54. package/lib/dev/get-cert.d.mts +8 -0
  55. package/lib/dev/json-schema.d.mts +70 -0
  56. package/lib/dev/mock.d.mts +67 -0
  57. package/lib/dev/proxy.d.mts +15 -0
  58. package/lib/dev/server.d.mts +26 -0
  59. package/lib/dev.d.mts +1 -0
  60. package/lib/file-system.d.mts +2 -0
  61. package/lib/index.d.mts +24 -0
  62. package/lib/lint/eslint/base.d.mts +2 -0
  63. package/lib/lint/eslint/index.d.mts +2 -0
  64. package/lib/lint/eslint/react.d.mts +2 -0
  65. package/lib/lint/eslint/solid.d.mts +2 -0
  66. package/lib/lint/eslint/vue.d.mts +2 -0
  67. package/lib/lint/stylelint/config.d.mts +2 -0
  68. package/lib/lint/stylelint/index.d.mts +1 -0
  69. package/lib/loader/css-in-js-minify.d.cts +14 -0
  70. package/lib/loader/lightning-css/codegen.d.cts +35 -0
  71. package/lib/loader/lightning-css/loader.d.cts +29 -0
  72. package/lib/loader/lightning-css/runtime/api.d.cts +1 -0
  73. package/lib/loader/lightning-css/runtime/get-url.d.cts +1 -0
  74. package/lib/loader/lightning-css/utils.d.cts +16 -0
  75. package/lib/loader/mdx.d.cts +3 -0
  76. package/lib/loader/react-compiler.d.cts +26 -0
  77. package/lib/loader/solid.cjs +1 -1
  78. package/lib/loader/solid.d.cts +6 -0
  79. package/lib/loader/ts-doc.d.cts +7 -0
  80. package/lib/module.config.d.mts +3 -0
  81. package/lib/options/css-extract.d.mts +3 -0
  82. package/lib/options/jsx-dom-expressions.d.mts +10 -0
  83. package/lib/options/md-to-html.d.mts +2 -0
  84. package/lib/options/modify-vars.d.mts +2 -0
  85. package/lib/options/reslove.d.mts +9 -0
  86. package/lib/options/split-chunk.d.mts +4 -0
  87. package/lib/options/swcrc.d.mts +10 -0
  88. package/lib/plugin/compression.d.mts +15 -0
  89. package/lib/plugin/copy.d.mts +30 -0
  90. package/lib/plugin/done.d.mts +11 -0
  91. package/lib/plugin/eslint.d.mts +14 -0
  92. package/lib/plugin/exposes-declararion.d.mts +15 -0
  93. package/lib/plugin/external-remotes.d.mts +4 -0
  94. package/lib/plugin/html-plugin.d.mts +60 -0
  95. package/lib/plugin/lightningcss-plugin.d.mts +20 -0
  96. package/lib/plugin/manifest.d.mts +46 -0
  97. package/lib/plugin/module-federation.d.mts +3 -0
  98. package/lib/plugin/override-resolve.d.mts +25 -0
  99. package/lib/plugin/stylelint.d.mts +13 -0
  100. package/lib/plugin/swc-minify-plugin.d.mts +8 -0
  101. package/lib/plugin/virtual-module.d.mts +12 -0
  102. package/lib/plugins.config.d.mts +3 -0
  103. package/lib/polyfills/polyfills.d.mts +3 -0
  104. package/lib/polyfills/replace-children.d.mts +1 -0
  105. package/lib/polyfills/targets.d.mts +3 -0
  106. package/lib/process-env.d.mts +26 -0
  107. package/lib/utils/compile-dts.d.mts +23 -0
  108. package/lib/utils/create-types.d.mts +2 -0
  109. package/lib/utils/dts.d.mts +14 -0
  110. package/lib/utils/fetch-module-federation-dts.d.mts +2 -0
  111. package/lib/utils/index.d.mts +35 -0
  112. package/lib/utils/run.d.mts +2 -0
  113. package/lib/utils/seo.d.mts +2 -0
  114. package/lib/utils/svg-to-data-uri.d.mts +2 -0
  115. package/lib/utils/vts.d.mts +18 -0
  116. package/lib/vm/coverage.d.mts +2 -0
  117. package/lib/vm/docs.d.mts +7 -0
  118. package/lib/vm/example.d.mts +4 -0
  119. package/lib/vm/generate-doc.d.mts +1 -0
  120. package/lib/vm/info.d.mts +2 -0
  121. package/lib/vm/locales.d.mts +5 -0
  122. package/lib/vm/modules.d.mts +2 -0
  123. package/lib/vm/render-app.d.mts +2 -0
  124. package/lib/vm/routes.d.mts +8 -0
  125. package/lib/vm/utils.d.mts +1 -0
  126. package/lib/worker/dts.d.mts +1 -0
  127. package/lib/worker/eslint.d.mts +1 -0
  128. package/lib/worker/react-compiler.d.mts +1 -0
  129. package/lib/worker/solid.d.mts +1 -0
  130. package/lib/worker/solid.mjs +1 -1
  131. package/lib/worker/stylelint.d.mts +1 -0
  132. package/lib/worker/swc-minify.d.mts +1 -0
  133. package/package.json +3 -4
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 拷贝文件
3
+ * @param {String} source 源文件
4
+ * @param {String} target 目标文件
5
+ * @constructor
6
+ * */
7
+ export declare function copyFileSync(source: string, target: string): void;
8
+ /**
9
+ * 拷贝文件夹
10
+ * @param {String} source 源文件夹
11
+ * @param {String} target 目标文件夹
12
+ * @param {String} sun 是否子文件夹
13
+ * @constructor
14
+ * */
15
+ export declare function copyFolderRecursiveSync(source: string, target: string, sun?: boolean): void;
16
+ export default function createApp(): Promise<void>;
@@ -0,0 +1,2 @@
1
+ declare function build(): Promise<void>;
2
+ export default build;
@@ -0,0 +1 @@
1
+ export default function changelog(): void;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1 @@
1
+ export default function eslint(): Promise<void>;
@@ -0,0 +1,2 @@
1
+ export declare const __filename: string;
2
+ export declare const __dirname: string;
@@ -0,0 +1 @@
1
+ export default function githooks(): void;
@@ -0,0 +1,2 @@
1
+ declare function printHelp(): void;
2
+ export default printHelp;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1 @@
1
+ export declare function lesscCommonjs(): Promise<void>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 检测过时依赖
3
+ * @returns {Promise<void>} 返回码 1 失败,0 成功
4
+ */
5
+ declare function pin(): Promise<void>;
6
+ export default pin;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare function setup(): void;
2
+ export default setup;
@@ -0,0 +1,2 @@
1
+ declare function start(): Promise<void>;
2
+ export default start;
@@ -0,0 +1,2 @@
1
+ declare function run(): Promise<void>;
2
+ export default run;
@@ -0,0 +1,2 @@
1
+ declare function tsc(outDir: string): Promise<unknown>;
2
+ export default tsc;
@@ -0,0 +1,2 @@
1
+ export declare function bundleApk(outputPath: string, outputBundleDir: string, type?: string): void;
2
+ export declare function bundleIOS(outputPath: string, outputBundleDir: string, type?: string): void;
@@ -0,0 +1,6 @@
1
+ export declare const runtimePath: string;
2
+ export declare const corePkg: string;
3
+ export declare const cwd: string;
4
+ export declare const cachePath: string;
5
+ export declare const swcCachePath: string;
6
+ export declare function parseBraced(input: string): string[];
@@ -0,0 +1,2 @@
1
+ declare function getCommitFiles(): Promise<unknown>;
2
+ export default getCommitFiles;
@@ -0,0 +1,2 @@
1
+ import type { Config } from '@swc/core';
2
+ export declare function getSwcOption(): Config;
@@ -0,0 +1,3 @@
1
+ import { type Configuration } from 'webpack';
2
+ declare const buildCommon: Configuration;
3
+ export default buildCommon;
@@ -0,0 +1,3 @@
1
+ import { type Configuration } from 'webpack';
2
+ declare const serverOption: Configuration;
3
+ export default serverOption;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ import { type CertificateResult } from '@moneko/utils';
3
+ /**
4
+ * 安装本地根 CA 到用户证书存储区(开发时信任 HTTPS 证书)
5
+ * @param certPath 本地 CA 证书路径
6
+ */
7
+ export declare function installCA(certPath: string): ChildProcess | void;
8
+ export declare function setupCert(domain?: string, install?: boolean): Promise<CertificateResult>;
@@ -0,0 +1,4 @@
1
+ /** 检查 npm 是否需要启用 pre 和 post 脚本
2
+ */
3
+ declare function checkNpm(): void;
4
+ export default checkNpm;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 如果 corepack 未安装,则安装它
3
+ * @param {boolean} enable 是否启用 corepack
4
+ * @example
5
+ * ```ts
6
+ * import { corepack } from '@moneko/core';
7
+ * corepack(true);
8
+ * ```
9
+ * @returns
10
+ */
11
+ export declare function corepack(enable?: boolean): void;
@@ -0,0 +1,2 @@
1
+ import type { ConfigType } from '../index.mjs';
2
+ export declare function diffObject(prev?: Partial<ConfigType>, next?: Partial<ConfigType>): Partial<ConfigType>;
@@ -0,0 +1,2 @@
1
+ declare function esm(templateStrings: TemplateStringsArray, ...substitutions: unknown[]): string;
2
+ export default esm;
@@ -0,0 +1,2 @@
1
+ declare function hasPkg(name: string): string | false;
2
+ export default hasPkg;
@@ -0,0 +1 @@
1
+ export declare function hostHelp(domain: string): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 检测当前是否运行在 CI 环境中
3
+ * @returns {boolean} 如果是 CI 环境返回 true,否则返回 false
4
+ */
5
+ declare function isCIEnvironment(): boolean;
6
+ export default isCIEnvironment;
@@ -0,0 +1,2 @@
1
+ declare function log(message: Error | string | unknown): Promise<void>;
2
+ export default log;
@@ -0,0 +1,22 @@
1
+ type MatchPath = {
2
+ path: string;
3
+ params: Record<string, unknown>;
4
+ };
5
+ /**
6
+ * RESTful 风格api
7
+ * @param {String} pattern pattern
8
+ * @param {String} path paths
9
+ * @example
10
+ * const pattern = '/users/:id';
11
+ * const pathToMatch = '/users/123';
12
+ * const result = matchPath(pattern, pathToMatch);
13
+ * if (result) {
14
+ * console.log('Match found:', result);
15
+ * console.log('Params:', result.params);
16
+ * } else {
17
+ * console.log('No match found.');
18
+ * }
19
+ * @returns {MatchPath|null} MatchPath
20
+ */
21
+ declare function matchPath(pattern: string, path: string): MatchPath | null;
22
+ export default matchPath;
@@ -0,0 +1,2 @@
1
+ declare const mime: Record<string, string>;
2
+ export default mime;
@@ -0,0 +1,2 @@
1
+ declare function moduleResolve(name: string, esm?: boolean): string;
2
+ export default moduleResolve;
@@ -0,0 +1,2 @@
1
+ export declare function getIPv4(): string | null;
2
+ export declare function getPort<T = number>(start: T, host?: string): Promise<T>;
@@ -0,0 +1,2 @@
1
+ declare function open(url: string): void;
2
+ export default open;
@@ -0,0 +1,2 @@
1
+ declare function parseArgs<T>(args: string[]): T;
2
+ export default parseArgs;
@@ -0,0 +1,9 @@
1
+ export type ModuleMeta = {
2
+ name: string;
3
+ main: string;
4
+ pkg: string;
5
+ file: string;
6
+ meta: string;
7
+ };
8
+ declare function parseModuleMeta(path: string, version?: number): ModuleMeta;
9
+ export default parseModuleMeta;
@@ -0,0 +1,52 @@
1
+ /** 当前文件所在目录的绝对路径 */
2
+ export declare const __dirname: string;
3
+ /** yarn 命令行参数对象,包含配置选项 */
4
+ export declare const yarnArgv: Record<string, string> & {
5
+ config?: string;
6
+ };
7
+ /** 附加启动配置名称
8
+ * @example
9
+ * 当通过以下命令启动时, 此时 CUSTOMCONFIG 为 test
10
+ * ```sh
11
+ * npm run start --config=test
12
+ * ```
13
+ */
14
+ export declare const CUSTOMCONFIG: string | undefined;
15
+ export declare const TMP_DIR: string;
16
+ declare const paths: {
17
+ /** node_modules 目录路径 */
18
+ nodeModules: string;
19
+ /** pnpm node_modules 目录路径 */
20
+ pnpmNodeModules: string;
21
+ /** deno node_modules 目录路径 */
22
+ denoNodeModules: string;
23
+ /** 核心代码路径 */
24
+ corePath: string;
25
+ /** 项目根目录路径 */
26
+ programPath: string;
27
+ /** CA 目录路径 */
28
+ CA_DIR: string;
29
+ /** webpack 缓存目录路径 */
30
+ webpackCachePath: string;
31
+ /** 代码检查工具(ESLint、Stylelint等)的缓存目录路径 */
32
+ lintCachePath: string;
33
+ /** HTTP 远程模块缓存路径 */
34
+ httpCachePath: string;
35
+ /** SWC 缓存目录路径 */
36
+ swcCachePath: string;
37
+ /** 默认配置文件路径 */
38
+ configPath: string;
39
+ /** 自定义配置文件路径 */
40
+ customConfigPath: string;
41
+ /** 测试覆盖率报告路径 */
42
+ coveragePath: string;
43
+ /** 页面目录路径 */
44
+ pagesPath: string;
45
+ /** 组件目录路径 */
46
+ componentsPath: string;
47
+ /** Mock 数据目录路径 */
48
+ mockPath: string;
49
+ };
50
+ export declare const config_files: string[];
51
+ export declare const routeDir: string;
52
+ export default paths;
@@ -0,0 +1,15 @@
1
+ export declare const METHOD_COLOR: Record<string, {
2
+ fg: string;
3
+ bg: string;
4
+ }>;
5
+ interface PrintLogOption {
6
+ note?: string;
7
+ timestamp?: boolean;
8
+ labelAlign?: 'left' | 'right' | 'center';
9
+ labelLen?: number;
10
+ labelForegroundColor?: string;
11
+ labelBackgroundColor?: string;
12
+ noteForegroundColor?: string;
13
+ }
14
+ declare function printLog(label: string, url: string, option?: PrintLogOption): void;
15
+ export default printLog;
@@ -0,0 +1,10 @@
1
+ import EventEmitter from 'node:events';
2
+ declare class ReactiveObject<T extends object = Record<string, string | undefined>> extends EventEmitter {
3
+ readonly data: T;
4
+ constructor(props?: T);
5
+ setData(key: keyof T, value: T[keyof T]): void;
6
+ getData(key: keyof T): T[keyof T];
7
+ removeData(key: keyof T): void;
8
+ [Symbol.iterator](): Iterator<[keyof T, T[keyof T]]>;
9
+ }
10
+ export default ReactiveObject;
@@ -0,0 +1,2 @@
1
+ declare const require: NodeJS.Require;
2
+ export default require;
@@ -0,0 +1,26 @@
1
+ declare const Rule: {
2
+ js: RegExp;
3
+ css: RegExp;
4
+ less: RegExp;
5
+ scss: RegExp;
6
+ wasm: RegExp;
7
+ txt: RegExp;
8
+ image: RegExp;
9
+ video: RegExp;
10
+ font: RegExp;
11
+ markdown: RegExp;
12
+ tsdoc: RegExp;
13
+ css_module: RegExp;
14
+ node_modules_css_module: RegExp;
15
+ node_modules: RegExp;
16
+ __tests__: RegExp;
17
+ dev_watch_ignored: RegExp;
18
+ /**
19
+ * 提取函数字符串
20
+ * @example
21
+ * // () => import('@app')
22
+ * "rr(() => import('@app'))rr".replace(Rule.extract_func, '$1')
23
+ * */
24
+ extract_func: RegExp;
25
+ };
26
+ export default Rule;
@@ -0,0 +1,6 @@
1
+ declare function setupEnv(mode: string, type: string, framework: string, args: string[]): Promise<{
2
+ NODE_ENV: string;
3
+ APPTYPE: string;
4
+ FRAMEWORK: string;
5
+ }>;
6
+ export default setupEnv;
@@ -0,0 +1,2 @@
1
+ declare function sigintExit(call: VoidFunction): void;
2
+ export default sigintExit;
@@ -0,0 +1,12 @@
1
+ interface Timer {
2
+ start(label: string): void;
3
+ end(label: string): {
4
+ nanoseconds: bigint;
5
+ milliseconds: number;
6
+ };
7
+ }
8
+ /**
9
+ * 最高精度的计时方法,返回纳秒级精度的bigint
10
+ */
11
+ declare const timer: Timer;
12
+ export default timer;
@@ -0,0 +1,18 @@
1
+ import type { BabelFileMetadata } from '@moneko/eslint/babel-core';
2
+ import type { JSDocNullableType } from 'typescript';
3
+ export interface BabelFileResult {
4
+ ast?: unknown;
5
+ code?: string | JSDocNullableType;
6
+ ignored?: boolean;
7
+ map?: {
8
+ version: number;
9
+ sources: string[];
10
+ names: string[];
11
+ sourceRoot?: string;
12
+ sourcesContent?: string[];
13
+ mappings: string;
14
+ file: string;
15
+ } | null;
16
+ metadata?: BabelFileMetadata;
17
+ }
18
+ export * from '@moneko/convert/solid';
@@ -0,0 +1,3 @@
1
+ import type { Configuration } from 'webpack';
2
+ export declare const outputConfig: Configuration['output'];
3
+ export declare const commonConfig: Configuration;
@@ -0,0 +1,4 @@
1
+ import type { ConfigType } from './index.mjs';
2
+ export declare function getConfig(path: string): Promise<ConfigType>;
3
+ export declare const CONFIG: ConfigType;
4
+ export declare const PUBLICPATH: string;
@@ -0,0 +1,4 @@
1
+ import webpack from 'webpack';
2
+ export declare const PORT: number;
3
+ export declare function getServerAddress(type: 'local' | 'net'): string;
4
+ export declare function devLog(err?: Error | null, stats?: webpack.Stats): void;
@@ -0,0 +1,6 @@
1
+ export type CompliationProcess = {
2
+ percentage: number;
3
+ info: string;
4
+ };
5
+ declare function generateProgressHtml(progressApi: string, progress: CompliationProcess): string;
6
+ export default generateProgressHtml;
@@ -0,0 +1,8 @@
1
+ export type CertOption = {
2
+ key: string;
3
+ cert: string;
4
+ } | {
5
+ install: boolean;
6
+ };
7
+ declare function getCert(domain: string, option: CertOption): Promise<import("@moneko/utils").CertificateResult>;
8
+ export default getCert;
@@ -0,0 +1,70 @@
1
+ type Any = any;
2
+ type NonArraySchemaObjectType = 'boolean' | 'object' | 'number' | 'string' | 'integer';
3
+ type ArraySchemaObjectType = 'array';
4
+ type SchemaObject = ArraySchemaObject | NonArraySchemaObject;
5
+ interface ExternalDocumentationObject {
6
+ description?: string;
7
+ url: string;
8
+ }
9
+ interface ArraySchemaObject extends BaseSchemaObject {
10
+ type: ArraySchemaObjectType;
11
+ items: ReferenceObject | SchemaObject;
12
+ }
13
+ interface NonArraySchemaObject extends BaseSchemaObject {
14
+ type?: NonArraySchemaObjectType;
15
+ }
16
+ interface BaseSchemaObject {
17
+ title?: string;
18
+ description?: string;
19
+ format?: string;
20
+ default?: Any;
21
+ multipleOf?: number;
22
+ maximum?: number;
23
+ exclusiveMaximum?: boolean;
24
+ minimum?: number;
25
+ exclusiveMinimum?: boolean;
26
+ maxLength?: number;
27
+ minLength?: number;
28
+ pattern?: string;
29
+ additionalProperties?: boolean | ReferenceObject | SchemaObject;
30
+ maxItems?: number;
31
+ minItems?: number;
32
+ uniqueItems?: boolean;
33
+ maxProperties?: number;
34
+ minProperties?: number;
35
+ required?: string[];
36
+ enum?: Any[];
37
+ properties?: {
38
+ [name: string]: ReferenceObject | SchemaObject;
39
+ };
40
+ allOf?: (ReferenceObject | SchemaObject)[];
41
+ oneOf?: (ReferenceObject | SchemaObject)[];
42
+ anyOf?: (ReferenceObject | SchemaObject)[];
43
+ not?: ReferenceObject | SchemaObject;
44
+ nullable?: boolean;
45
+ discriminator?: DiscriminatorObject;
46
+ readOnly?: boolean;
47
+ writeOnly?: boolean;
48
+ xml?: XMLObject;
49
+ externalDocs?: ExternalDocumentationObject;
50
+ example?: Any;
51
+ deprecated?: boolean;
52
+ }
53
+ interface DiscriminatorObject {
54
+ propertyName: string;
55
+ mapping?: {
56
+ [value: string]: string;
57
+ };
58
+ }
59
+ interface XMLObject {
60
+ name?: string;
61
+ namespace?: string;
62
+ prefix?: string;
63
+ attribute?: boolean;
64
+ wrapped?: boolean;
65
+ }
66
+ interface ReferenceObject {
67
+ $ref: string;
68
+ }
69
+ export declare function jsonSchema<T>(schema: SchemaObject): any;
70
+ export {};
@@ -0,0 +1,67 @@
1
+ import http, { IncomingMessage, ServerResponse } from 'node:http';
2
+ export declare function cacheBody(req: RequestFormData & {
3
+ _bodyCached?: boolean;
4
+ _dataChunks?: Uint8Array[];
5
+ }): void;
6
+ export interface RequestFormData extends IncomingMessage {
7
+ files?: {
8
+ fieldname: string;
9
+ originalname: string;
10
+ encoding: string;
11
+ mimetype: string;
12
+ buffer: Buffer;
13
+ size: number;
14
+ }[];
15
+ params?: Record<string, string>;
16
+ query?: Record<string, string>;
17
+ body?: Promise<BodyInit | null>;
18
+ }
19
+ export interface MockServerResponse extends ServerResponse<IncomingMessage> {
20
+ req: IncomingMessage;
21
+ send<T>(chunk: T): ReturnType<ServerResponse<IncomingMessage>['end']>;
22
+ }
23
+ export type ProxyFuncType = (req: RequestFormData, res: MockServerResponse) => void | Promise<void>;
24
+ export type MockConfiguration = Record<string, ProxyFuncType | Record<string, any> | null>;
25
+ export type YApiOptionBySchema = {
26
+ /** YApi host */
27
+ host: string;
28
+ /** 接口id */
29
+ id: string;
30
+ /** YApi开放接口token */
31
+ token: string;
32
+ };
33
+ type Any = any;
34
+ /**
35
+ * 通过 YApi 接口对应的响应JSON Schema生成默认的数据
36
+ * @param {YApiOptionBySchema} option Schema
37
+ * @param {T} data data
38
+ * @returns {Promise} mockData
39
+ */
40
+ export declare const yApiSchemaMock: <T extends Any>(option: YApiOptionBySchema, data?: T) => Promise<T>;
41
+ export type YApiOption = {
42
+ /** YApi host */
43
+ host: string;
44
+ /** YApi 项目ID */
45
+ projectId: number;
46
+ /** 重写请求路径, 例如:'^/api/' */
47
+ pathRewrite: string;
48
+ };
49
+ /**
50
+ * 请求YApi高级mock接口数据
51
+ * @param {RequestFormData} req req
52
+ * @param {YApiOption} yapi YApiOption
53
+ * @returns {Promise} data
54
+ */
55
+ export declare const yApiMock: (req: RequestFormData, yapi: YApiOption) => Promise<Any>;
56
+ export interface MockPluginOptions {
57
+ directory: string;
58
+ }
59
+ export declare const oldMock: MockConfiguration;
60
+ export declare let nextMock: MockConfiguration;
61
+ export declare function containMockUrl(url: string): string | undefined;
62
+ declare const setupMock: (options: MockPluginOptions) => ((req: RequestFormData, res: ServerResponse<IncomingMessage> & {
63
+ req: IncomingMessage;
64
+ }) => boolean | (http.ServerResponse<http.IncomingMessage> & {
65
+ req: IncomingMessage;
66
+ })) | undefined;
67
+ export default setupMock;
@@ -0,0 +1,15 @@
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ type ProxyItem = {
3
+ target: string;
4
+ changeOrigin?: boolean;
5
+ secure?: boolean;
6
+ ws?: boolean;
7
+ pathRewrite?: Record<string, string>;
8
+ headers?: Record<string, string>;
9
+ };
10
+ export type ProxyConfig = Record<string, string | ProxyItem>;
11
+ type IServerResponse = ServerResponse<IncomingMessage> & {
12
+ req: IncomingMessage;
13
+ };
14
+ export declare function setupProxy(req: IncomingMessage, res: IServerResponse, proxyConfig: ProxyConfig): Promise<IServerResponse | false>;
15
+ export {};
@@ -0,0 +1,26 @@
1
+ import type { createReadStream, existsSync } from 'node:fs';
2
+ import { type IncomingMessage, type Server as HttpServer, type ServerResponse } from 'node:http';
3
+ import { type Server as HttpsServer } from 'node:https';
4
+ import type { OutputFileSystem } from 'webpack';
5
+ import { type CertOption } from '../dev/get-cert.mjs';
6
+ export type FileSystem = OutputFileSystem & {
7
+ existsSync: typeof existsSync;
8
+ createReadStream: typeof createReadStream;
9
+ };
10
+ type HttpServerResponse = ServerResponse<IncomingMessage> & {
11
+ req: IncomingMessage;
12
+ };
13
+ interface ServerOption {
14
+ port: number;
15
+ root_dir: string;
16
+ fileSystem: FileSystem;
17
+ onRequest?(req: IncomingMessage, res: HttpServerResponse): boolean | void;
18
+ headers?: Record<string, string>;
19
+ basename?: string;
20
+ https?: CertOption | boolean;
21
+ host: string;
22
+ open?: boolean;
23
+ }
24
+ export type Server = HttpServer | HttpsServer;
25
+ declare function server(option: ServerOption): Promise<Server>;
26
+ export default server;
package/lib/dev.d.mts ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type IFs } from 'memfs';
2
+ export declare const outputFileSystem: IFs;
@@ -0,0 +1,24 @@
1
+ export type * from '../typings/global.js';
2
+ export { default as hasPkg } from './commom/has-pkg.mjs';
3
+ export { getIPv4, getPort } from './commom/net.mjs';
4
+ export { default as open } from './commom/open.mjs';
5
+ export { default as parseArgs } from './commom/parse-args.mjs';
6
+ export { CUSTOMCONFIG, default as paths, routeDir, yarnArgv } from './commom/paths.mjs';
7
+ export { default as printLog } from './commom/print-log.mjs';
8
+ export { default as require } from './commom/require.mjs';
9
+ export { default as Rule } from './commom/rule.mjs';
10
+ export { default as timer } from './commom/timer.mjs';
11
+ export { type MockConfiguration, type ProxyFuncType, type RequestFormData, yApiMock, type YApiOption, type YApiOptionBySchema, yApiSchemaMock, } from './dev/mock.mjs';
12
+ export type { ProxyConfig } from './dev/proxy.mjs';
13
+ export type { CssInJsMinifyOption } from './loader/css-in-js-minify.cjs';
14
+ export type { ReactCompilerOption } from './loader/react-compiler.cjs';
15
+ export { type JsxDomExpressions, default as jsxDomExpressions, } from './options/jsx-dom-expressions.mjs';
16
+ export { type OptimizationSplitChunksOptions, default as splitChunk, } from './options/split-chunk.mjs';
17
+ export type { CompressionPluginOptions } from './plugin/compression.mjs';
18
+ export type { HtmlMeta, HtmlPluginOption } from './plugin/html-plugin.mjs';
19
+ export type { OverrideResolverOption } from './plugin/override-resolve.mjs';
20
+ export type { VirtualModulePluginOption } from './plugin/virtual-module.mjs';
21
+ export { APPTYPE, coreName, FRAMEWORK, isCI, isDev, isLibrary, isMicro, mainDirectory, packageJson, PACKAGENAME, } from './process-env.mjs';
22
+ export { resolveProgram, toCamelCase } from './utils/index.mjs';
23
+ export type { MdxOptions } from '@moneko/mdx';
24
+ export * from '@moneko/utils';
@@ -0,0 +1,2 @@
1
+ import base from '@moneko/eslint/base';
2
+ export default base;