@dcloudio/uni-cli-shared is a comprehensive shared library for uni-app CLI tools, providing utilities, configuration helpers, and platform-specific functionality across different build targets. It serves as the core foundation for the uni-app cross-platform development framework, supporting web, native apps, and various mini-program platforms.
npm install @dcloudio/uni-cli-shareddist/index.jsdist/index.d.ts^14.18.0 || >=16.0.0// Main package imports
import {
emptyDir,
normalizePath,
parseProgram,
formatMiniProgramEvent,
uniWorkersPlugin
} from "@dcloudio/uni-cli-shared";CommonJS:
const {
emptyDir,
normalizePath,
parseProgram,
formatMiniProgramEvent,
uniWorkersPlugin
} = require("@dcloudio/uni-cli-shared");import {
emptyDir,
parseProgram,
formatMiniProgramEvent,
normalizePath,
HTML_TO_MINI_PROGRAM_TAGS
} from "@dcloudio/uni-cli-shared";
// Clean a directory
emptyDir('./temp', ['keep.txt']);
// Parse JavaScript/TypeScript code
const ast = parseProgram('const x = 42;', './src/app.js', {
babelParserPlugins: ['typescript']
});
// Format mini-program events
const eventName = formatMiniProgramEvent('click', {
isCatch: true,
isCapture: false
});
// Normalize file paths
const normalized = normalizePath('\\path\\with\\backslashes');
// Access HTML to mini-program tag mappings
const miniTag = HTML_TO_MINI_PROGRAM_TAGS['div']; // 'view'@dcloudio/uni-cli-shared is structured around several key architectural components:
Comprehensive utilities for mini-program development including template processing, event handling, style transformations, and platform-specific optimizations.
function parseProgram(
code: string,
importer: string,
options: { babelParserPlugins?: ParserPlugin[] }
): Program;
function formatMiniProgramEvent(
eventName: string,
options: EventOptions
): string;
interface EventOptions {
isCatch?: boolean;
isCapture?: boolean;
isComponent?: boolean;
}Core file system operations, path utilities, and cross-platform compatibility helpers for uni-app project management.
function emptyDir(dir: string, skip?: string[]): void;
function normalizePath(id: string): string;
function encodeBase64Url(str: string): string;
function decodeBase64Url(str: string): string;Vue.js specific transformations, component processing, template compilation, and SSR support for uni-app development.
// Vue transformation utilities
function transformUniH5Jsx(): any;
function isExternalUrl(url: string): boolean;
// SSR configuration
const stripOptions: {
include: string[];
functions: string[];
};UniScript (UTS) language compilation, module resolution, and platform-specific transformations for native functionality.
function resolveUTSAppModule(
platform: any,
id: string,
importer: string,
includeUTSSDK?: boolean
): any;Integration with modern build tools including Vite plugins, ESBuild configurations, PostCSS processing, and optimization utilities.
// Worker support plugins
function uniWorkersPlugin(): Plugin;
function uniJavaScriptWorkersPlugin(): Plugin;
// HBuilderX integration
function uniHBuilderXConsolePlugin(method?: string): Plugin;
function isEnableConsole(): boolean;Enhanced development experience with logging utilities, output formatting, worker management, and platform detection.
function output(type: LogType, msg: string): void;
function resetOutput(type: LogType): void;
type LogType = 'error' | 'warn' | 'info' | 'log';
function getWorkers(): Record<string, string>;
function initWorkers(workersDirs: string[], rootDir: string): Record<string, string>;Extensible plugin architecture supporting uni_modules, cloud integration, and custom functionality for the uni-app ecosystem.
function parseUniExtApi(): any;
function parseUniExtApis(): any;
function parseInjects(): any;
function getUniExtApiProviderRegisters(): any;
function formatExtApiProviderName(): any;
function getUniModulesEncryptType(): any;
function parseUniModulesArtifacts(): any;
function resolveEncryptUniModule(): any;Core constants, regular expressions, file extensions, and TypeScript interfaces used throughout the uni-app ecosystem.
// File extensions
const EXTNAME_JS: string[];
const EXTNAME_TS: string[];
const EXTNAME_VUE: string[];
const EXTNAME_VUE_TEMPLATE: string[];
// Regular expressions
const EXTNAME_VUE_RE: RegExp;
const EXTNAME_JS_RE: RegExp;
const EXTNAME_TS_RE: RegExp;
// Build constants
const PUBLIC_DIR: string;
const ASSETS_INLINE_LIMIT: number;
const APP_SERVICE_FILENAME: string;@dcloudio/uni-cli-shared supports the complete range of uni-app target platforms:
// Localized messages
const M: Record<string, string>;The package includes comprehensive internationalization support with locale-specific messages for development tools and error reporting.
The package provides curated re-exports of essential third-party libraries:
// File watching
import chokidar from "chokidar";
// Utility functions
function hash(input: any): string;
function camelize(str: string): string;
function capitalize(str: string): string;
function isArray(value: any): value is any[];