UNPKG

takin

Version:

Front end engineering base toolchain and scaffold

36 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserConfigSchema = exports.NAME_REGEXP = exports.SupportConfigExtensions = exports.PKG_FILE = exports.DEFAULT_ROOT = exports.DEFAULT_MULTIPLE_CONFIG_FIELD = exports.DEFAULT_CONFIG_OPTION_NAME_ALIAS = exports.DEFAULT_CONFIG_OPTION_NAME = exports.DEFAULT_NAME = void 0; const zod_1 = require("zod"); const plugin_1 = require("./plugin"); const runner_1 = require("./runner"); exports.DEFAULT_NAME = 'takin'; exports.DEFAULT_CONFIG_OPTION_NAME = 'config'; exports.DEFAULT_CONFIG_OPTION_NAME_ALIAS = 'c'; exports.DEFAULT_MULTIPLE_CONFIG_FIELD = 'name'; exports.DEFAULT_ROOT = process.cwd(); exports.PKG_FILE = 'package.json'; exports.SupportConfigExtensions = { ts: '.ts', js: '.js', mjs: '.mjs', json: '.json', jsonc: '.jsonc', json5: '.json5' }; exports.NAME_REGEXP = /^[a-zA-Z0-9_-]+$/; // 插件 schema 和 ./plugin 保持一致 const PluginSchema = zod_1.z .object({ name: zod_1.z.string(), enforce: zod_1.z.nativeEnum(plugin_1.PluginEnforceTypes).optional(), apply: zod_1.z.function().args(zod_1.z.instanceof(runner_1.Runner)).returns(zod_1.z.void()) }) .or(zod_1.z.string()) .or(zod_1.z.tuple([zod_1.z.string(), zod_1.z.any()])); // takin 中支持的用户配置 exports.UserConfigSchema = { name: zod_1.z.string().min(1).regex(exports.NAME_REGEXP).optional(), plugins: zod_1.z.union([zod_1.z.array(PluginSchema), PluginSchema]).optional() }; //# sourceMappingURL=constants.js.map