@longzai-intelligence-taro/config 0.0.2 → 0.0.3

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.
@@ -9,6 +9,7 @@
9
9
  * 两种形态的 base 始终是预设而非锁定——消费方任何字段都可覆盖。
10
10
  */
11
11
  import type { IProjectConfig } from '@tarojs/taro/types/compile';
12
+ import type { CompilerTypes, CompilerWebpackTypes } from '@tarojs/taro/types/compile/compiler';
12
13
  import { type UserConfigExport, type UserConfigFn } from '@tarojs/cli';
13
14
  /**
14
15
  * miniprogram 配置定义
@@ -29,9 +30,10 @@ import { type UserConfigExport, type UserConfigFn } from '@tarojs/cli';
29
30
  * });
30
31
  * ```
31
32
  *
33
+ * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5;消费方可显式传 `'webpack5'` 或 `'vite'`
32
34
  * @param config - 静态配置对象(与 base 预设深合并,同名字段以本参数为准),或
33
35
  * 回调函数(透传 @tarojs/cli 原生 defineConfig,回调内自由组装)
34
36
  * @returns 可直接 `export default` 的 UserConfigExport
35
37
  */
36
- export declare function defineConfig(config: Partial<IProjectConfig> | UserConfigFn): UserConfigExport;
38
+ export declare function defineConfig<T extends CompilerTypes = CompilerWebpackTypes>(config: Partial<IProjectConfig<T>> | UserConfigFn<T>): UserConfigExport<T>;
37
39
  //# sourceMappingURL=define.config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.config.d.ts","sourceRoot":"","sources":["../src/define.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAerB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,YAAY,GAAG,gBAAgB,CAuB7F","sourcesContent":["/**\n * Taro miniprogram 配置定义\n *\n * 在 @tarojs/cli 的 defineConfig 之上提供 LZI 公共 base 预设:\n * - 传入对象:自动与 base 预设、dev/prod 预设深合并(消费方字段覆盖预设),返回完整配置\n * - 传入回调:透传给 @tarojs/cli 原生 defineConfig,消费方在回调内自行用 createBaseConfig 等\n * 预设组装,完全掌控动态逻辑(版本注入、环境变量、缓存隔离等)\n *\n * 两种形态的 base 始终是预设而非锁定——消费方任何字段都可覆盖。\n */\n\nimport type { IProjectConfig } from '@tarojs/taro/types/compile';\n\nimport {\n defineConfig as defineTaroConfig,\n type UserConfigExport,\n type UserConfigFn,\n} from '@tarojs/cli';\n\nimport { createBaseConfig } from './base.config.js';\nimport { devPreset, prodPreset } from './presets.js';\n\n/**\n * 判断入参是否为回调形态(类型守卫,替代 as 断言)\n *\n * @param config - defineConfig 入参\n * @returns 是否为函数(回调形态)\n */\nfunction isUserConfigFn(config: Partial<IProjectConfig> | UserConfigFn): config is UserConfigFn {\n return typeof config === 'function';\n}\n\n/**\n * miniprogram 配置定义\n *\n * @example\n * 对象形态(自动注入 base 预设)\n * ```ts\n * import { defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig({ projectName: 'longzai-intelligence-foo-miniprogram' });\n * ```\n *\n * @example\n * 回调形态(消费方完全掌控,base 预设作起点)\n * ```ts\n * import { createBaseConfig, defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig(async (merge) => {\n * return merge({}, createBaseConfig(), { /* 项目专属动态配置 *\\/ });\n * });\n * ```\n *\n * @param config - 静态配置对象(与 base 预设深合并,同名字段以本参数为准),或\n * 回调函数(透传 @tarojs/cli 原生 defineConfig,回调内自由组装)\n * @returns 可直接 `export default` 的 UserConfigExport\n */\nexport function defineConfig(config: Partial<IProjectConfig> | UserConfigFn): UserConfigExport {\n if (isUserConfigFn(config)) {\n return defineTaroConfig(config);\n }\n\n /**\n * 消费方项目专属配置(静态对象形态)\n */\n const projectConfig = config;\n\n return defineTaroConfig(async (merge) => {\n /**\n * LZI 公共基础配置预设\n */\n const base = createBaseConfig();\n\n /**\n * 按 NODE_ENV 选取的环境预设\n */\n const envPreset = process.env.NODE_ENV === 'development' ? devPreset : prodPreset;\n\n return merge({}, base, envPreset, projectConfig);\n });\n}\n"]}
1
+ {"version":3,"file":"define.config.d.ts","sourceRoot":"","sources":["../src/define.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE/F,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAkBrB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,oBAAoB,EACzE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GACnD,gBAAgB,CAAC,CAAC,CAAC,CAuBrB","sourcesContent":["/**\n * Taro miniprogram 配置定义\n *\n * 在 @tarojs/cli 的 defineConfig 之上提供 LZI 公共 base 预设:\n * - 传入对象:自动与 base 预设、dev/prod 预设深合并(消费方字段覆盖预设),返回完整配置\n * - 传入回调:透传给 @tarojs/cli 原生 defineConfig,消费方在回调内自行用 createBaseConfig 等\n * 预设组装,完全掌控动态逻辑(版本注入、环境变量、缓存隔离等)\n *\n * 两种形态的 base 始终是预设而非锁定——消费方任何字段都可覆盖。\n */\n\nimport type { IProjectConfig } from '@tarojs/taro/types/compile';\nimport type { CompilerTypes, CompilerWebpackTypes } from '@tarojs/taro/types/compile/compiler';\n\nimport {\n defineConfig as defineTaroConfig,\n type UserConfigExport,\n type UserConfigFn,\n} from '@tarojs/cli';\n\nimport { createBaseConfig } from './base.config.js';\nimport { devPreset, prodPreset } from './presets.js';\n\n/**\n * 判断入参是否为回调形态(类型守卫,替代 as 断言)\n *\n * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5\n * @param config - defineConfig 入参\n * @returns 是否为函数(回调形态)\n */\nfunction isUserConfigFn<T extends CompilerTypes = CompilerWebpackTypes>(\n config: Partial<IProjectConfig<T>> | UserConfigFn<T>,\n): config is UserConfigFn<T> {\n return typeof config === 'function';\n}\n\n/**\n * miniprogram 配置定义\n *\n * @example\n * 对象形态(自动注入 base 预设)\n * ```ts\n * import { defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig({ projectName: 'longzai-intelligence-foo-miniprogram' });\n * ```\n *\n * @example\n * 回调形态(消费方完全掌控,base 预设作起点)\n * ```ts\n * import { createBaseConfig, defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig(async (merge) => {\n * return merge({}, createBaseConfig(), { /* 项目专属动态配置 *\\/ });\n * });\n * ```\n *\n * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5;消费方可显式传 `'webpack5'` 或 `'vite'`\n * @param config - 静态配置对象(与 base 预设深合并,同名字段以本参数为准),或\n * 回调函数(透传 @tarojs/cli 原生 defineConfig,回调内自由组装)\n * @returns 可直接 `export default` 的 UserConfigExport\n */\nexport function defineConfig<T extends CompilerTypes = CompilerWebpackTypes>(\n config: Partial<IProjectConfig<T>> | UserConfigFn<T>,\n): UserConfigExport<T> {\n if (isUserConfigFn(config)) {\n return defineTaroConfig(config);\n }\n\n /**\n * 消费方项目专属配置(静态对象形态)\n */\n const projectConfig = config;\n\n return defineTaroConfig(async (merge) => {\n /**\n * LZI 公共基础配置预设\n */\n const base = createBaseConfig();\n\n /**\n * 按 NODE_ENV 选取的环境预设\n */\n const envPreset = process.env.NODE_ENV === 'development' ? devPreset : prodPreset;\n\n return merge({}, base, envPreset, projectConfig);\n });\n}\n"]}
@@ -14,6 +14,7 @@ import { devPreset, prodPreset } from './presets.js';
14
14
  /**
15
15
  * 判断入参是否为回调形态(类型守卫,替代 as 断言)
16
16
  *
17
+ * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5
17
18
  * @param config - defineConfig 入参
18
19
  * @returns 是否为函数(回调形态)
19
20
  */
@@ -39,6 +40,7 @@ function isUserConfigFn(config) {
39
40
  * });
40
41
  * ```
41
42
  *
43
+ * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5;消费方可显式传 `'webpack5'` 或 `'vite'`
42
44
  * @param config - 静态配置对象(与 base 预设深合并,同名字段以本参数为准),或
43
45
  * 回调函数(透传 @tarojs/cli 原生 defineConfig,回调内自由组装)
44
46
  * @returns 可直接 `export default` 的 UserConfigExport
@@ -1 +1 @@
1
- {"version":3,"file":"define.config.js","sourceRoot":"","sources":["../src/define.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EACL,YAAY,IAAI,gBAAgB,GAGjC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAA8C;IACpE,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CAAC,MAA8C;IACzE,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,aAAa,GAAG,MAAM,CAAC;IAE7B,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtC;;WAEG;QACH,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC;;WAEG;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAElF,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * Taro miniprogram 配置定义\n *\n * 在 @tarojs/cli 的 defineConfig 之上提供 LZI 公共 base 预设:\n * - 传入对象:自动与 base 预设、dev/prod 预设深合并(消费方字段覆盖预设),返回完整配置\n * - 传入回调:透传给 @tarojs/cli 原生 defineConfig,消费方在回调内自行用 createBaseConfig 等\n * 预设组装,完全掌控动态逻辑(版本注入、环境变量、缓存隔离等)\n *\n * 两种形态的 base 始终是预设而非锁定——消费方任何字段都可覆盖。\n */\n\nimport type { IProjectConfig } from '@tarojs/taro/types/compile';\n\nimport {\n defineConfig as defineTaroConfig,\n type UserConfigExport,\n type UserConfigFn,\n} from '@tarojs/cli';\n\nimport { createBaseConfig } from './base.config.js';\nimport { devPreset, prodPreset } from './presets.js';\n\n/**\n * 判断入参是否为回调形态(类型守卫,替代 as 断言)\n *\n * @param config - defineConfig 入参\n * @returns 是否为函数(回调形态)\n */\nfunction isUserConfigFn(config: Partial<IProjectConfig> | UserConfigFn): config is UserConfigFn {\n return typeof config === 'function';\n}\n\n/**\n * miniprogram 配置定义\n *\n * @example\n * 对象形态(自动注入 base 预设)\n * ```ts\n * import { defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig({ projectName: 'longzai-intelligence-foo-miniprogram' });\n * ```\n *\n * @example\n * 回调形态(消费方完全掌控,base 预设作起点)\n * ```ts\n * import { createBaseConfig, defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig(async (merge) => {\n * return merge({}, createBaseConfig(), { /* 项目专属动态配置 *\\/ });\n * });\n * ```\n *\n * @param config - 静态配置对象(与 base 预设深合并,同名字段以本参数为准),或\n * 回调函数(透传 @tarojs/cli 原生 defineConfig,回调内自由组装)\n * @returns 可直接 `export default` 的 UserConfigExport\n */\nexport function defineConfig(config: Partial<IProjectConfig> | UserConfigFn): UserConfigExport {\n if (isUserConfigFn(config)) {\n return defineTaroConfig(config);\n }\n\n /**\n * 消费方项目专属配置(静态对象形态)\n */\n const projectConfig = config;\n\n return defineTaroConfig(async (merge) => {\n /**\n * LZI 公共基础配置预设\n */\n const base = createBaseConfig();\n\n /**\n * 按 NODE_ENV 选取的环境预设\n */\n const envPreset = process.env.NODE_ENV === 'development' ? devPreset : prodPreset;\n\n return merge({}, base, envPreset, projectConfig);\n });\n}\n"]}
1
+ {"version":3,"file":"define.config.js","sourceRoot":"","sources":["../src/define.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EACL,YAAY,IAAI,gBAAgB,GAGjC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,MAAoD;IAEpD,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAoD;IAEpD,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,aAAa,GAAG,MAAM,CAAC;IAE7B,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtC;;WAEG;QACH,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC;;WAEG;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAElF,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * Taro miniprogram 配置定义\n *\n * 在 @tarojs/cli 的 defineConfig 之上提供 LZI 公共 base 预设:\n * - 传入对象:自动与 base 预设、dev/prod 预设深合并(消费方字段覆盖预设),返回完整配置\n * - 传入回调:透传给 @tarojs/cli 原生 defineConfig,消费方在回调内自行用 createBaseConfig 等\n * 预设组装,完全掌控动态逻辑(版本注入、环境变量、缓存隔离等)\n *\n * 两种形态的 base 始终是预设而非锁定——消费方任何字段都可覆盖。\n */\n\nimport type { IProjectConfig } from '@tarojs/taro/types/compile';\nimport type { CompilerTypes, CompilerWebpackTypes } from '@tarojs/taro/types/compile/compiler';\n\nimport {\n defineConfig as defineTaroConfig,\n type UserConfigExport,\n type UserConfigFn,\n} from '@tarojs/cli';\n\nimport { createBaseConfig } from './base.config.js';\nimport { devPreset, prodPreset } from './presets.js';\n\n/**\n * 判断入参是否为回调形态(类型守卫,替代 as 断言)\n *\n * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5\n * @param config - defineConfig 入参\n * @returns 是否为函数(回调形态)\n */\nfunction isUserConfigFn<T extends CompilerTypes = CompilerWebpackTypes>(\n config: Partial<IProjectConfig<T>> | UserConfigFn<T>,\n): config is UserConfigFn<T> {\n return typeof config === 'function';\n}\n\n/**\n * miniprogram 配置定义\n *\n * @example\n * 对象形态(自动注入 base 预设)\n * ```ts\n * import { defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig({ projectName: 'longzai-intelligence-foo-miniprogram' });\n * ```\n *\n * @example\n * 回调形态(消费方完全掌控,base 预设作起点)\n * ```ts\n * import { createBaseConfig, defineConfig } from '@longzai-intelligence-taro/config';\n * export default defineConfig(async (merge) => {\n * return merge({}, createBaseConfig(), { /* 项目专属动态配置 *\\/ });\n * });\n * ```\n *\n * @typeParam T - 编译器类型,对齐 @tarojs/cli 的 CompilerTypes,默认 webpack5;消费方可显式传 `'webpack5'` 或 `'vite'`\n * @param config - 静态配置对象(与 base 预设深合并,同名字段以本参数为准),或\n * 回调函数(透传 @tarojs/cli 原生 defineConfig,回调内自由组装)\n * @returns 可直接 `export default` 的 UserConfigExport\n */\nexport function defineConfig<T extends CompilerTypes = CompilerWebpackTypes>(\n config: Partial<IProjectConfig<T>> | UserConfigFn<T>,\n): UserConfigExport<T> {\n if (isUserConfigFn(config)) {\n return defineTaroConfig(config);\n }\n\n /**\n * 消费方项目专属配置(静态对象形态)\n */\n const projectConfig = config;\n\n return defineTaroConfig(async (merge) => {\n /**\n * LZI 公共基础配置预设\n */\n const base = createBaseConfig();\n\n /**\n * 按 NODE_ENV 选取的环境预设\n */\n const envPreset = process.env.NODE_ENV === 'development' ? devPreset : prodPreset;\n\n return merge({}, base, envPreset, projectConfig);\n });\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longzai-intelligence-taro/config",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Taro 构建配置封装 - re-export @tarojs/cli 的 defineConfig 与类型",
5
5
  "keywords": [
6
6
  "config",