@tarojs/plugin-platform-harmony-ets 4.0.9-beta.8 → 4.0.10-alpha.1

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.js CHANGED
@@ -512,7 +512,7 @@ let Harmony$1 = class Harmony extends TaroPlatformHarmony {
512
512
  define.global = 'globalThis';
513
513
  }
514
514
  const ext = path__namespace.extname(target);
515
- if (![/d\.e?tsx?$/, /\.(json|map|md)$/].some(e => e.test(target))) {
515
+ if (![/\.d\.e?tsx?$/, /\.(json|map|md)$/].some(e => e.test(target))) {
516
516
  code = this.replaceDefineValue(code, define, ext);
517
517
  }
518
518
  if (['.ts'].includes(ext)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/api-loader.ts","../src/utils/constants.ts","../src/utils/index.ts","../src/program/harmony.ts","../src/program/arkTS.ts","../src/components/index.ts","../src/template.ts","../src/program/jsUI.ts","../src/index.ts"],"sourcesContent":["export function apiLoader (str: string) {\n return `import {\n useAddToFavorites,\n useDidHide,\n useDidShow,\n useError,\n useLaunch,\n useLoad,\n useOptionMenuClick,\n usePageNotFound,\n usePageScroll,\n usePullDownRefresh,\n usePullIntercept,\n useReachBottom,\n useReady,\n useResize,\n useRouter,\n useSaveExitState,\n useShareAppMessage,\n useShareTimeline,\n useTabItemTap,\n useTitleClick,\n useScope,\n useUnhandledRejection,\n useUnload\n} from '@tarojs/plugin-framework-react/dist/runtime'\n${str}\n\ntaro.useAddToFavorites = useAddToFavorites\ntaro.useDidHide = useDidHide\ntaro.useDidShow = useDidShow\ntaro.useError = useError\ntaro.useLaunch = useLaunch\ntaro.useLoad = useLoad\ntaro.useOptionMenuClick = useOptionMenuClick\ntaro.usePageNotFound = usePageNotFound\ntaro.usePageScroll = usePageScroll\ntaro.usePullDownRefresh = usePullDownRefresh\ntaro.usePullIntercept = usePullIntercept\ntaro.useReachBottom = useReachBottom\ntaro.useReady = useReady\ntaro.useResize = useResize\ntaro.useRouter = useRouter\ntaro.useSaveExitState = useSaveExitState\ntaro.useShareAppMessage = useShareAppMessage\ntaro.useShareTimeline = useShareTimeline\ntaro.useTabItemTap = useTabItemTap\ntaro.useTitleClick = useTitleClick\ntaro.useScope = useScope\ntaro.useUnhandledRejection = useUnhandledRejection\ntaro.useUnload = useUnload\n\nexport {\n useAddToFavorites,\n useDidHide,\n useDidShow,\n useError,\n useLaunch,\n useLoad,\n useOptionMenuClick,\n usePageNotFound,\n usePageScroll,\n usePullDownRefresh,\n usePullIntercept,\n useReachBottom,\n useReady,\n useResize,\n useRouter,\n useSaveExitState,\n useShareAppMessage,\n useShareTimeline,\n useTabItemTap,\n useTitleClick,\n useScope,\n useUnhandledRejection,\n useUnload\n}\n`\n}\n","export const PLATFORM_NAME = 'harmony'\nexport const PACKAGE_NAME = '@tarojs/plugin-platform-harmony-ets'\nexport const PLUGIN_NAME = 'TaroHarmony'\n\nexport const HARMONY_SCOPES = [/^@system\\./, /^@ohos\\./, /^@hmscore\\//]\n","import path from 'node:path'\n\nexport * from './api-loader'\nexport * from './constants'\n\nexport function parseRelativePath (from: string, to: string) {\n const relativePath = path.relative(from, to).replace(/\\\\/g, '/')\n\n return /^\\.{1,2}[\\\\/]/.test(relativePath)\n ? relativePath\n : /^\\.{1,2}$/.test(relativePath)\n ? `${relativePath}/`\n : `./${relativePath}`\n}\n","/* eslint-disable no-console */\nimport { type IFileType, type TConfig, TaroPlatform } from '@tarojs/service'\nimport { getPkgVersion } from '@tarojs/service/dist/utils/package'\nimport { isObject, PLATFORM_TYPE } from '@tarojs/shared'\n\nexport abstract class TaroPlatformHarmony<T extends TConfig = TConfig> extends TaroPlatform<T> {\n platformType = PLATFORM_TYPE.HARMONY\n globalObject = 'globalThis'\n\n abstract fileType: IFileType\n abstract useETS: boolean\n abstract useJSON5: boolean\n taroComponentsPath: string\n\n /**\n * 1. 清空 dist 文件夹\n * 2. 输出编译提示\n */\n private async setup () {\n await this.setupTransaction.perform(this.setupHarmonyApp, this)\n this.ctx.onSetupClose?.(this)\n }\n\n private setupHarmonyApp () {\n const { output } = this.config\n // eslint-disable-next-line eqeqeq\n if (output == undefined || output.clean == undefined || output.clean === true) {\n this.emptyOutputDir()\n } else if (isObject(output.clean)) {\n this.emptyOutputDir(output.clean.keep || [])\n }\n this.printDevelopmentTip()\n }\n\n protected printDevelopmentTip () {\n const tips: string[] = []\n const { chalk } = this.helper\n\n if (tips.length) {\n console.log(chalk.yellowBright('Tips:'))\n tips.forEach((item, index) => console.log(`${chalk.yellowBright(index + 1)}. ${item}`))\n console.log('\\n')\n }\n }\n\n /**\n * 返回当前项目内的 runner 包\n */\n protected async getRunner () {\n const compilers = ['vite'] // , 'webpack5'\n const { npm, chalk } = this.helper\n const { appPath } = this.ctx.paths\n\n if (compilers.indexOf(this.compiler) === -1) {\n const errorChalk = chalk.hex('#f00')\n\n console.log(errorChalk(`目前 Harmony 平台只支持使用 ${compilers.join(', ')} 编译,请在 config/index.ts 中设置 compiler = ${compilers[0]} 或者 harmony.compiler = ${compilers[0]}`))\n process.exit(0)\n }\n let runnerPkg: string\n switch (this.compiler) {\n case 'webpack5':\n runnerPkg = '@tarojs/webpack5-runner'\n break\n case 'vite':\n default:\n runnerPkg = '@tarojs/vite-runner'\n }\n const runner = await npm.getNpmPkg(runnerPkg, appPath)\n return runner.bind(null, appPath)\n }\n\n /**\n * 准备 runner 参数\n * @param extraOptions 需要额外合入 Options 的配置项\n */\n protected getOptions (extraOptions = {}) {\n const { ctx } = this\n const { recursiveMerge } = ctx.helper\n const config = recursiveMerge(Object.assign({}, this.config), {\n env: {\n FRAMEWORK: JSON.stringify(this.config.framework),\n TARO_ENV: JSON.stringify(this.platform),\n TARO_PLATFORM: JSON.stringify(this.platformType),\n TARO_VERSION: JSON.stringify(getPkgVersion()),\n SUPPORT_TARO_POLYFILL: 'disabled',\n },\n })\n\n return {\n ...config,\n buildAdapter: config.platform,\n fileType: this.fileType,\n platformType: this.platformType,\n useETS: this.useETS,\n useJSON5: this.useJSON5,\n isPure: Boolean(ctx?.runOpts?.options?.args?.pure),\n ...extraOptions\n }\n }\n\n /**\n * 调用 runner 开始编译\n * @param extraOptions 需要额外传入 runner 的配置项\n */\n private async build (extraOptions = {}) {\n this.ctx.onBuildInit?.(this)\n await this.buildTransaction.perform(this.buildHarmonyApp, this, extraOptions)\n }\n\n private async buildHarmonyApp (extraOptions = {}) {\n const runner = await this.getRunner()\n const options = this.getOptions(Object.assign({\n runtimePath: this.runtimePath,\n taroComponentsPath: this.taroComponentsPath,\n }, extraOptions))\n await runner(options)\n }\n\n /**\n * 调用 runner 开启编译\n */\n public async start () {\n await this.setup()\n await this.build()\n }\n}\n","import * as path from 'node:path'\n\nimport { defaultMainFields, fs, isEmptyObject, NODE_MODULES, resolveSync } from '@tarojs/helper'\n\nimport { apiLoader, HARMONY_SCOPES, PACKAGE_NAME, parseRelativePath, PLATFORM_NAME } from '../utils'\nimport { TaroPlatformHarmony } from './harmony'\n\nimport type { IPluginContext, TConfig } from '@tarojs/service'\nimport type { ILoaderMeta } from '@tarojs/taro/types/compile/config/plugin'\n\nconst frameworkAlias = {\n solid: 'solid',\n vue3: 'vue3',\n}\n\nexport default class Harmony extends TaroPlatformHarmony {\n platform = PLATFORM_NAME\n globalObject = 'globalThis'\n fileType = {\n templ: '.hml',\n style: '.css',\n config: '.json',\n script: '.js'\n }\n\n useETS = true\n useJSON5 = true\n runtimePath: string[] | string = []\n taroComponentsPath = `${PACKAGE_NAME}/dist/components-harmony-ets`\n apiEntryList = [\n /(@tarojs[\\\\/]plugin-platform-harmony-ets|taro-platform-harmony)[\\\\/]dist[\\\\/]apis[\\\\/]index\\.ts/,\n ]\n\n #defineConstants: Record<string, string> = {}\n\n constructor(ctx: IPluginContext, config: TConfig) {\n super(ctx, config)\n const that = this\n this.setupTransaction.addWrapper({\n close() {\n that.modifyViteConfig()\n },\n })\n\n ctx.onBuildFinish(() => {\n const outDir = path.resolve(process.cwd(), config.outputRoot)\n that.handleResourceEmit(outDir)\n })\n }\n\n get framework() {\n return this.ctx.initialConfig.framework || 'react'\n }\n\n get aliasFramework(): string {\n return frameworkAlias[this.framework] || 'react'\n }\n\n get apiLibrary() {\n return path.resolve(__dirname, './apis')\n }\n\n get apiEntry() {\n return this.apiEntryList\n }\n\n get componentLibrary() {\n return path.resolve(__dirname, './components-harmony-ets')\n }\n\n get runtimeLibrary() {\n return path.resolve(__dirname, './runtime-ets')\n }\n\n get runtimeFrameworkLibrary() {\n return path.resolve(__dirname, `./runtime-framework/${this.aliasFramework}`)\n }\n\n get defineConstants() {\n if (!isEmptyObject(this.#defineConstants)) {\n return this.#defineConstants\n }\n\n this.config.env ||= {}\n this.config.defineConstants ||= {}\n this.#defineConstants = {\n ...this.config.defineConstants,\n }\n const env = [...Object.entries(this.config.env), ...Object.entries(process.env)]\n\n env.forEach(([key, value]) => {\n this.#defineConstants[`process.env.${key}`] = JSON.stringify(value)\n })\n\n return this.#defineConstants\n }\n\n extensions = ['.js', '.jsx', '.ts', '.tsx', '.cjs', '.mjs', '.mts', '.vue', '.ets', '.d.ts']\n\n excludeLibraries: (string | RegExp)[] = []\n\n externalDeps: [string, RegExp, string?][] = [\n ['@tarojs/components/types', /^@tarojs[\\\\/]components[\\\\/]types/],\n ['@tarojs/components', /^@tarojs[\\\\/]components([\\\\/].+)?$/, this.componentLibrary],\n ['@tarojs/react', /^@tarojs[\\\\/]react$/],\n ['@tarojs/runtime', /^@tarojs[\\\\/]runtime([\\\\/]ets[\\\\/].*)?$/, this.runtimeLibrary],\n ['@tarojs/taro/types', /^@tarojs[\\\\/]taro[\\\\/]types/],\n ['@tarojs/taro', /^@tarojs[\\\\/]taro$/, this.apiLibrary],\n ['@tarojs/plugin-framework-react/dist/runtime', /^@tarojs[\\\\/]plugin-framework-react[\\\\/]dist[\\\\/]runtime$/, this.runtimeFrameworkLibrary],\n ['react', /^react$|react[\\\\/]cjs/],\n ['react/jsx-runtime', /^react[\\\\/]jsx-runtime$/], // Note: React 环境下自动注入,避免重复\n ]\n\n harmonyScope = [...HARMONY_SCOPES]\n\n indexOfLibraries(lib: string) {\n return this.externalDeps.findIndex(([_, rgx]) => rgx.test(lib))\n }\n\n removeFromLibraries(lib: string) {\n const index = this.indexOfLibraries(lib)\n if (index > -1) {\n this.externalDeps.splice(index, 1)\n }\n }\n\n moveLibraries(lib: string, target = '', basedir = this.ctx.paths.appPath, sync = false) {\n if (!lib) return\n if (this.excludeLibraries.some(e => typeof e === 'string' ? e === lib : e.test(lib))) return\n\n const { outputRoot, chorePackagePrefix } = this.ctx.runOpts.config\n if (sync) {\n const targetPath = path.join(outputRoot, NODE_MODULES)\n // FIXME 不支持 alias 配置\n const libName = lib\n lib = resolveSync(lib, {\n basedir,\n extensions: this.extensions,\n mainFields: ['unpkg', ...defaultMainFields],\n preserveSymlinks: false,\n }) || ''\n // Note: 跳过 node 相关或未能找到的依赖\n if (!lib || !path.isAbsolute(lib)) {\n return this.removeFromLibraries(libName)\n }\n let ext = path.extname(lib)\n const libDir = lib.replace(/.*[\\\\/]node_modules[\\\\/]/, '')\n const basename = path.basename(lib, ext)\n if (['.cjs', '.mjs'].includes(ext)) {\n ext = '.js'\n } else if (ext === '.mts') {\n ext = '.ts'\n }\n\n if (ext === '.js') {\n let typeName = `@types/${libName.replace('@', '').replace(/\\//g, '__')}`\n let typePath = resolveSync(typeName, {\n basedir,\n extensions: this.extensions,\n mainFields: [...defaultMainFields],\n preserveSymlinks: false,\n })\n if (!typePath) {\n typeName = path.join(path.dirname(lib), `${basename}.d.ts`)\n typePath = resolveSync(typeName, {\n basedir,\n extensions: this.extensions,\n mainFields: [...defaultMainFields],\n preserveSymlinks: false,\n })\n }\n if (typePath) {\n this.moveLibraries(\n typePath,\n path.extname(target)\n ? path.join(path.dirname(target), `${basename}.d.ts`)\n : path.join(target, `index.d.ts`),\n basedir\n )\n }\n }\n\n if (ext) {\n const code = fs.readFileSync(lib, { encoding: 'utf8' })\n if (\n (/(?:import\\s|from\\s|require\\()['\"]([\\\\/.][^'\"\\s]+)['\"]\\)?/g.test(code) ||\n /\\/{3}\\s<reference\\spath=['\"][^'\"\\s]+['\"]\\s\\/>/g.test(code)) &&\n `${libName}${path.extname(libDir)}` !== libDir\n ) {\n // Note: 文件包含包内引用的依赖\n const pkgPath = path.relative(libName, libDir)\n if (new RegExp(`^index(${this.extensions.map(e => e.replace('.', '\\\\.')).join('|')})$`).test(pkgPath)) {\n // Note: 入口为 index 场景\n lib = path.dirname(lib)\n } else if (!/[\\\\/]/.test(pkgPath)) {\n // FIXME: 非 index 入口文件场景,可能存在入口文件引用 index 但该文件被覆盖的情况,需要额外处理\n const isDTS = /\\.d\\.ts$/.test(target)\n target = path.join(target, `index${isDTS ? '.d.ts' : ext}`)\n } else {\n // FIXME 多级目录,可能存在入口不为 index 或者引用一级目录文件的情况,需要额外处理\n const dir = path.dirname(pkgPath)\n if (libDir.includes(NODE_MODULES)) {\n target = path.join(target, dir)\n }\n lib = path.dirname(lib)\n }\n } else if (path.isAbsolute(libDir)) {\n // Note: 本地 link 的依赖\n const isDTS = /\\.d\\.ts$/.test(target)\n target = path.extname(target)\n ? path.join(path.dirname(target), `${basename}${ext}`)\n : path.join(target, `index${isDTS ? '.d.ts' : ext}`)\n } else {\n const libPath = path.relative(targetPath, target)\n if (libDir !== libPath) {\n if (path.relative(libPath, libDir).startsWith('.')) {\n target = path.join(targetPath, libDir)\n } else {\n target = path.join(targetPath, libName, `index${ext}`)\n }\n }\n }\n }\n }\n\n const stat = fs.lstatSync(lib)\n if (stat.isDirectory()) {\n const files = fs.readdirSync(lib)\n files.forEach((file) => {\n if (![NODE_MODULES].includes(file)) {\n this.moveLibraries(path.join(lib, file), path.join(target, file))\n }\n })\n } else if (stat.isFile()) {\n let code = fs.readFileSync(lib, { encoding: 'utf8' })\n if (this.apiEntry.some(e => e.test(lib))) {\n code = apiLoader(code)\n }\n if (this.extensions.includes(path.extname(lib))) {\n // Note: 移除 onpm 不能装载的类型,新版本会导致 ets-loader 抛出 resolvedFileName 异常\n code = code.replace(/\\/{3}\\s*<reference\\s+types=['\"]([^'\"\\s]+)['\"]\\s*\\/>\\n*/g, '')\n // Note: 查询 externals 内的依赖,并将它们添加到 externalDeps 中\n code = code.replace(/(?:import\\s|from\\s|require\\()['\"]([^\\\\/.][^'\"\\s]+)['\"]\\)?/g, (src, p1 = '') => {\n if (p1.startsWith('node:') || p1.endsWith('.so')) return src\n\n const { outputRoot } = this.ctx.runOpts.config\n const targetPath = path.join(outputRoot, NODE_MODULES, p1)\n const relativePath = parseRelativePath(path.dirname(target), targetPath)\n if (this.harmonyScope.every(e => !e.test(p1))) {\n if (this.indexOfLibraries(p1) === -1 && !/\\.(d\\.ts|flow\\.js)$/.test(lib)) {\n this.externalDeps.push([p1, new RegExp(`^${p1.replace(/([-\\\\/$])/g, '\\\\$1')}$`)])\n this.moveLibraries(p1, targetPath, path.dirname(lib), true)\n }\n return src.replace(p1, relativePath.replace(new RegExp(`\\\\b${NODE_MODULES}\\\\b`), 'npm'))\n }\n\n return src\n })\n\n const define: Record<string, string> = {\n ...this.defineConstants,\n // Note: React 开发环境可能调用 stack 可能导致 appWrapper 实例变更\n 'ReactDebugCurrentFrame.getCurrentStack': 'ReactDebugCurrentFrame.getCurrentStack$',\n }\n if ([/(@tarojs[\\\\/]runtime|taro-runtime)[\\\\/]dist/].some(e => e.test(lib))) {\n define.global = 'globalThis'\n }\n const ext = path.extname(target)\n if (![/d\\.e?tsx?$/, /\\.(json|map|md)$/].some(e => e.test(target))) {\n code = this.replaceDefineValue(code, define, ext)\n }\n if (['.ts'].includes(ext)) {\n code = '// @ts-nocheck\\n' + code\n }\n\n // 处理嵌套样式的编译,需要针对ReactElement进行props操作,dev模式下会Object.freeze,所以需要在开发模式下注入Object.freeze来覆盖解锁\n // 处理的方法再taro-platform-harmony/src/runtime-ets/dom/cssNesting: ele.props.style = declaration\n if (/react\\/jsx-runtime/.test(lib) && process.env.NODE_ENV === 'development') {\n code = 'Object.freeze = (obj) => obj \\n' + code\n }\n }\n\n // Note: 传入 chorePackagePrefix 时,不生成核心依赖库\n if (!chorePackagePrefix) {\n if (/tarojs[\\\\/]taro[\\\\/]types[\\\\/]index.d.ts/.test(target)) {\n code = `/// <reference path=\"global.d.ts\" />\n\n/// <reference path=\"taro.api.d.ts\" />\n/// <reference path=\"taro.component.d.ts\" />\n/// <reference path=\"taro.config.d.ts\" />\n/// <reference path=\"taro.lifecycle.d.ts\" />\n\nexport = Taro\nexport as namespace Taro\n\ndeclare const Taro: Taro.TaroStatic\n\ndeclare namespace Taro {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface TaroStatic {}\n}\ndeclare global {\n const defineAppConfig: (config: Taro.Config) => Taro.Config\n const definePageConfig: (config: Taro.Config) => Taro.Config\n}`\n }\n try {\n const targetPath = target.replace(new RegExp(`\\\\b${NODE_MODULES}\\\\b`), 'npm')\n fs.ensureDirSync(path.dirname(targetPath))\n fs.writeFileSync(targetPath, code)\n } catch (e) {\n console.error(`[taro-arkts] inject ${lib} to ${target} failed`, e)\n }\n }\n } else if (stat.isSymbolicLink()) {\n const realPath = fs.realpathSync(lib, { encoding: 'utf8' })\n this.moveLibraries(realPath, target, basedir)\n }\n }\n\n replaceDefineValue (code: string, define: Record<string, string>, ext = '.js') {\n Object.keys(define).forEach(key => {\n let value = define[key]\n if (/^['\"`].*['\"`]$/.test(value) && ['.ts', '.tsx', '.ets'].includes(ext)) {\n value = `(${value} as string)`\n }\n code = code.replace(new RegExp(`\\\\b${key}\\\\b`, 'g'), value)\n })\n return code\n }\n\n /**\n * 修改 Vite 配置\n */\n modifyViteConfig() {\n const that = this\n const { appPath } = that.ctx.paths\n const { config } = that.ctx.runOpts\n const { outputRoot, ohPackage = {}, chorePackagePrefix } = config\n\n if (!that.framework.includes('vue')) {\n that.excludeLibraries.push(/\\bvue\\b/)\n }\n // @ts-ignore\n if (that.framework === 'solid') {\n that.externalDeps.push([\n '@tarojs/plugin-framework-solid/dist/reconciler',\n /^@tarojs\\/plugin-framework-solid\\/dist\\/reconciler$/,\n path.join(this.runtimeFrameworkLibrary, 'reconciler')\n ])\n that.externalDeps.push([\n 'solid-js/universal',\n /^solid-js\\/universal$/,\n ])\n }\n\n const chorePkgRgx = new RegExp(`^${(chorePackagePrefix || '').replace(/[\\\\/]+/g, '[\\\\\\\\/]+').replace(/[-^$*?.|]/g, '\\\\$&')}`)\n const externals = Object.keys(ohPackage.dependencies || []).concat(Object.keys(ohPackage.devDependencies || []))\n function modifyResolveId({ source = '', name = 'modifyResolveId' }: Parameters<Exclude<ILoaderMeta['modifyResolveId'], undefined>>[0]) {\n if (externals.includes(source) || (chorePackagePrefix && chorePkgRgx.test(source))) {\n return {\n external: true,\n id: source,\n resolvedBy: name,\n }\n } else if (source.includes('css_variables')) {\n return {\n external: true,\n id: path.join(outputRoot, 'css_variables'),\n moduleSideEffects: 'no-treeshake',\n resolvedBy: name,\n }\n }\n\n if (chorePackagePrefix && that.indexOfLibraries(source) > -1) {\n return {\n external: true,\n id: path.join(chorePackagePrefix, source),\n resolvedBy: name,\n }\n }\n\n // Note: 映射 Taro 相关依赖到注入 taro 目录\n if (that.indexOfLibraries(source) > -1) {\n return {\n external: 'resolve',\n id: path.join(outputRoot, 'npm', source),\n moduleSideEffects: false,\n resolvedBy: name,\n }\n }\n }\n\n that.ctx.modifyViteConfig?.(({ viteConfig }) => {\n function externalPlugin() {\n const name = 'taro:vite-harmony-external'\n return {\n name,\n enforce: 'pre',\n resolveId (source = '', importer = '', options: any = {}) {\n return modifyResolveId({\n source,\n importer,\n options,\n name,\n resolve: this.resolve,\n })\n },\n }\n }\n function injectLoaderMeta() {\n return {\n name: 'taro:vite-loader-meta',\n async buildStart () {\n const { getViteHarmonyCompilerContext } = that.ctx.runnerUtils\n const compiler = getViteHarmonyCompilerContext(this)\n if (compiler) {\n switch (that.framework) {\n // @ts-ignore\n case 'solid':\n compiler.loaderMeta ||= {}\n compiler.loaderMeta.importFrameworkStatement = ``\n compiler.loaderMeta.mockAppStatement = `\nfunction App(props) {\n return null\n}\n`\n compiler.loaderMeta.frameworkArgs = `config`\n compiler.loaderMeta.creator = `createSolidApp`\n compiler.loaderMeta.importFrameworkName = ''\n break\n }\n compiler.loaderMeta.modifyResolveId = modifyResolveId\n }\n },\n }\n }\n\n const targetPath = path.join(outputRoot, NODE_MODULES)\n // Note: 注入 Taro 相关依赖\n this.externalDeps.forEach(([libName, _, target]) => {\n this.moveLibraries(target || libName, path.resolve(targetPath, libName), appPath, !target)\n })\n viteConfig.plugins.push(externalPlugin(), injectLoaderMeta())\n })\n }\n\n handleResourceEmit(outDir: string, basedir = this.ctx.paths.appPath) {\n const resources = path.resolve(outDir, '..', 'resources')\n const mediaPath = 'static/media'\n const mediaSource = resolveSync(`${PACKAGE_NAME}/${mediaPath}`, {\n basedir,\n extensions: this.extensions,\n mainFields: [...defaultMainFields],\n preserveSymlinks: false,\n isFile: (file: string) => {\n try {\n const stat = fs.lstatSync(file)\n return stat.isFile() || (file.endsWith(mediaPath.replace('/', path.sep)) && stat.isDirectory())\n } catch (_) {} // eslint-disable-line no-empty\n return false\n }\n })\n\n if (mediaSource) {\n this.moveLibraries(mediaSource, path.join(resources, 'base/media'), basedir)\n }\n }\n}\n","import { singleQuote } from '@tarojs/shared'\n\nexport const components = {\n Checkbox: {\n 'group-id': '',\n cn: ''\n },\n Span: {},\n Tabs: {\n index: '0',\n vertical: 'false',\n bindchange: ''\n },\n TabBar: {\n mode: singleQuote('scrollable')\n },\n TabContent: {\n scrollable: 'true'\n },\n List: {\n scrollpage: 'false',\n cachedcount: '0',\n scrollbar: 'off',\n scrolleffect: singleQuote('spring'),\n indexer: 'false',\n indexercircle: '',\n indexermulti: 'false',\n indexerbubble: 'true',\n divider: 'false',\n shapemode: singleQuote('default'),\n itemscale: 'true',\n itemcenter: 'false',\n updateeffect: 'false',\n chainanimation: 'false',\n scrollvibrate: 'true',\n initialindex: '0',\n initialoffset: '0',\n selected: '',\n bindindexerchange: '',\n bindscroll: '',\n bindscrollbottom: '',\n bindscrolltop: '',\n bindscrollend: '',\n bindscrolltouchup: '',\n bindrequestitem: ''\n },\n ListItem: {\n type: singleQuote('default'),\n primary: 'false',\n section: '',\n sticky: singleQuote('none'),\n stickyradius: singleQuote('1000px'),\n clickeffect: 'true',\n bindsticky: ''\n },\n Switch: {\n showtext: 'false',\n texton: singleQuote('On'),\n textoff: singleQuote('Off')\n },\n Textarea: {\n headericon: '',\n showcounter: 'false',\n menuoptions: '[]',\n softkeyboardenabled: 'true',\n bindtranslate: '',\n bindshare: '',\n bindsearch: '',\n bindoptionselect: '',\n bindselectchange: ''\n },\n Progress: {\n 'active-color': singleQuote('#09BB07'),\n 'background-color': singleQuote('#EBEBEB'),\n type: singleQuote('horizontal'),\n 'font-size': singleQuote('25px'),\n secondarypercent: '0',\n clockwise: 'true'\n },\n Slider: {\n showsteps: 'false',\n showtips: 'false'\n },\n Input: {\n 'placeholder-color': singleQuote('#99000000')\n },\n Video: {\n speed: '1',\n bindloadedmetadata: '',\n bindprogress: '',\n bindtap: ''\n },\n Image: {\n alt: ''\n },\n Radio: {\n 'group-id': ''\n },\n Picker: {\n selected: '',\n hours: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false'\n },\n PickerView: {\n mode: '',\n range: '',\n selected: '',\n hours: '',\n indicatorprefix: '',\n indicatorsuffix: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false',\n bindcolumnchange: '',\n cn: ''\n }\n}\n","import path from 'node:path'\n\nimport { fs } from '@tarojs/helper'\nimport { getComponentsAlias } from '@tarojs/shared'\nimport { Attributes, RecursiveTemplate, Shortcuts } from '@tarojs/shared/dist/template'\n\ninterface Component {\n nodeName: string\n nodeAlias: string\n attributes: Attributes\n}\n\ninterface Components {\n [key: string]: Record<string, string>\n}\n\ninterface ComponentConfig {\n includes: Set<string>\n exclude: Set<string>\n thirdPartyComponents: Map<string, Set<string>>\n includeAll: boolean\n}\n\nexport class Template extends RecursiveTemplate {\n Adapter = {\n if: 'if',\n else: 'else',\n elseif: 'elif',\n for: 'for',\n forItem: 'for-item',\n forIndex: 'for-index',\n key: 'key',\n type: 'harmony'\n }\n\n nativeComps: string[]\n\n usedNativeComps: string[] = []\n\n patchVoidElements: string[] = [\n 'button',\n 'image',\n 'camera',\n 'video',\n 'web-view',\n 'picker',\n 'checkbox',\n 'rich-text'\n ]\n\n constructor () {\n super()\n\n const compsDir = path.resolve(__dirname, 'components-harmony')\n this.patchVoidElements.forEach(item => {\n this.voidElements.add(item)\n })\n\n this.nativeComps = fs.readdirSync(compsDir).filter(name => fs.pathExistsSync(path.resolve(compsDir, name, 'index.hml')))\n }\n\n buildHeaderTemplate = (componentConfig) => {\n if (componentConfig.includeAll) {\n this.usedNativeComps = [...this.nativeComps]\n } else {\n this.usedNativeComps = Array.from<string>(componentConfig.includes).filter(name => this.nativeComps.includes(name))\n }\n\n const elements = this.usedNativeComps.reduce((str, name) => str + `<element name=\"taro-${name}\" src=\"./components-harmony/${name}/index.hml\"></element>\\n`, '')\n\n return `<element name=\"container\" src=\"./index.hml\"></element>\n${elements}\n\n<block>\n`\n }\n\n createMiniComponents (components: Components) {\n components.Button.cn = ''\n components.Button.bindtap = ''\n components.Button.type = \"'default'\"\n\n const result: Components = super.createMiniComponents(components)\n\n delete result['pure-view']\n delete result['click-view']\n delete result['static-view']\n delete result['static-text']\n delete result['static-image']\n\n return result\n }\n\n buildTemplate = (componentConfig: ComponentConfig) => {\n let template = this.buildHeaderTemplate(componentConfig)\n\n if (!this.miniComponents) {\n this.componentsAlias = getComponentsAlias(this.internalComponents)\n this.miniComponents = this.createMiniComponents(this.internalComponents)\n }\n const ZERO_FLOOR = 0\n const components = Object.keys(this.miniComponents)\n .filter(c => componentConfig.includes.size && !componentConfig.includeAll ? componentConfig.includes.has(c) : true)\n\n template = components.reduce((current, nodeName) => {\n const attributes: Attributes = this.miniComponents[nodeName]\n const nodeAlias = this.componentsAlias[nodeName]._num\n return current + this.buildComponentTemplate({ nodeName, nodeAlias, attributes }, ZERO_FLOOR)\n }, template)\n\n template += this.buildPlainTextTemplate()\n\n template += '\\n</block>'\n\n return template\n }\n\n buildFocusComponentTemplate (comp: Component): string {\n return this.generateComponentTemplateSrc(comp)\n }\n\n buildStandardComponentTemplate (comp: Component) {\n let nodeName = ''\n switch (comp.nodeName) {\n case 'slot':\n case 'slot-view':\n case 'cover-view':\n case 'view':\n case 'swiper-item':\n nodeName = 'div'\n break\n case 'static-text':\n nodeName = 'text'\n break\n case 'static-image':\n nodeName = 'image'\n break\n default:\n nodeName = comp.nodeName\n break\n }\n return this.generateComponentTemplateSrc(comp, nodeName)\n }\n\n generateComponentTemplateSrc (comp: Component, nodeName?): string {\n const nodeAlias = comp.nodeAlias\n const children = this.voidElements.has(comp.nodeName)\n ? ''\n : `<block for=\"{{i.cn}}\">\n <container i=\"{{$item}}\"></container>\n </block>`\n if (!nodeName) {\n nodeName = comp.nodeName\n }\n if (this.nativeComps.includes(nodeName)) {\n nodeName = `taro-${nodeName}`\n }\n\n const res = `\n<block if=\"{{i.nn == '${nodeAlias}'}}\">\n <${nodeName} ${this.buildAttrs(comp.attributes, comp.nodeName)} id=\"{{i.uid||i.sid}}\" data-sid=\"{{i.sid}}\">\n ${children}\n </${nodeName}>\n</block>\n`\n\n return res\n }\n\n buildPlainTextTemplate (): string {\n return `\n<block if=\"{{i.nn === '#text'}}\">\n <span>{{i.${Shortcuts.Text}}}</span>\n</block>\n`\n }\n\n buildAttrs (attrs, nodeName) {\n return Object.keys(attrs)\n .map(k => `${k}=\"${k.startsWith('bind') || k.startsWith('on') || k.startsWith('catch') ? attrs[k] : `{${this.getAttrValue(attrs[k], k, nodeName)}}`}\" `)\n .join('')\n }\n\n replacePropName (name: string, value: string, componentName?: string) {\n if (value === 'eh') return name.toLowerCase().replace(/^bind/, '@')\n // 由于鸿蒙不支持for属性 需要修改for属性,需要改名\n if (componentName === 'label' && name === 'for') return 'target'\n return name\n }\n\n getEvents (): any {\n return {\n '@click': 'eh'\n }\n }\n\n buildPageTemplate = (baseTempPath: string) => {\n const containerPath = path.join(path.dirname(baseTempPath), 'container')\n const containerTempPath = path.join(containerPath, 'index.hml')\n const navbarTempPath = path.join(containerPath, 'components-harmony/navbar/index.hml')\n const tabbarTempPath = path.join(containerPath, 'components-harmony/tabbar/index.hml')\n const template = `<element name=\"container\" src=\"${containerTempPath}\"></element>\n<element name=\"navbar\" src=\"${navbarTempPath}\"></element>\n<element name=\"tabbar\" src=\"${tabbarTempPath}\"></element>\n\n<div class=\"container\">\n <navbar if=\"{{taroNavBar}}\" title=\"{{taroNavBar.title}}\" background=\"{{taroNavBar.background}}\" text-style=\"{{taroNavBar.textStyle}}\" st=\"{{taroNavBar.style}}\"></navbar>\n <div class=\"body\" style=\"padding-top: 44vp;padding-bottom: {{isShowTaroTabBar ? '56vp' : '0'}}\">\n <refresh if=\"{{enablePullDownRefresh}}\" type=\"pulldown\" refreshing=\"{{isRefreshing}}\" onrefresh=\"onPullDownRefresh\">\n <block for=\"{{root.cn}}\">\n <container i=\"{{$item}}\"></container>\n </block>\n </refresh>\n <block else for=\"{{root.cn}}\">\n <container i=\"{{$item}}\"></container>\n </block>\n </div>\n <tabbar if=\"{{isShowTaroTabBar}}\" tabbar-data=\"{{taroTabBar}}\" selected=\"{{selected}}\"></tabbar>\n</div>\n`\n\n return template\n }\n}\n","import path from 'node:path'\n\nimport { chalk, fs, META_TYPE } from '@tarojs/helper'\nimport { TaroPlatformBase } from '@tarojs/service'\nimport { sources } from 'webpack'\nimport { ConcatSource, RawSource } from 'webpack-sources'\n\nimport { components } from '../components'\nimport { Template } from '../template'\nimport { HARMONY_SCOPES, PACKAGE_NAME, PLUGIN_NAME } from '../utils'\n\nconst EXPORT_PREFIX = 'var __webpack_exports__ = '\n\nexport default class Harmony extends TaroPlatformBase {\n platform = 'harmony'\n globalObject = 'globalThis'\n runtimePath = `${PACKAGE_NAME}/dist/runtime`\n taroComponentsPath = `${PACKAGE_NAME}/dist/components/components-react`\n fileType = {\n templ: '.hml',\n style: '.css',\n config: '.json',\n script: '.js'\n }\n\n template = new Template() as any\n\n /**\n * 1. setupTransaction - init\n * 2. setup\n * 3. setupTransaction - close\n * 4. buildTransaction - init\n * 5. build\n * 6. buildTransaction - close\n */\n constructor (ctx, config) {\n super(ctx, config)\n\n this.addEntry()\n\n this.setupTransaction.addWrapper({\n close () {\n this.modifyComponents()\n this.modifyPostcssConfigs(config)\n this.modifyWebpackConfig()\n }\n })\n\n this.modifyTaroExport()\n this.modifyBuildAssets(ctx, config)\n }\n\n /**\n * 增加组件或修改组件属性\n */\n modifyComponents () {\n this.template.mergeComponents(this.ctx, components)\n }\n\n /**\n * 不需要转 rpx\n */\n modifyPostcssConfigs (config: Record<string, any>) {\n config.postcss ||= {}\n const postcssConfig = config.postcss\n\n postcssConfig.autoprefixer = {\n enable: false\n }\n }\n\n /**\n * 模板自定义组件 js\n * 等鸿蒙支持 template 后需要重构\n */\n addEntry () {\n this.ctx.onCompilerMake(async ({ compilation, plugin }) => {\n // container/index.hml\n const filePath = path.resolve(__dirname, 'template/container')\n plugin.addEntry(filePath, 'container/index', META_TYPE.STATIC)\n const dep = plugin.dependencies.get(filePath)\n await new Promise((resolve, reject) => {\n compilation.addEntry(plugin.options.sourceDir, dep, dep.name, err => err ? reject(err) : resolve(null))\n })\n })\n }\n\n /**\n * 把 app、pages、自定义组件的 js 改造为鸿蒙的 export default 导出形式\n */\n modifyTaroExport () {\n this.ctx.onCompilerMake(({ compilation, compiler }) => {\n const render = this.compiler === 'webpack5'\n ? compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation).render\n : compilation.chunkTemplate.hooks.renderWithEntry\n render.tap(PLUGIN_NAME, (modules, renderContext) => {\n const chunk = renderContext.chunk ?? renderContext // Webpack4 中 renderContext 实际为 chunk\n const chunkEntryModule = this.getChunkEntryModule(compilation, chunk, this.compiler)\n if (chunkEntryModule) {\n const entryModule = chunkEntryModule.rootModule ?? chunkEntryModule\n\n if (this.checkMetaType(entryModule)) {\n const origin: string = modules._value ? modules._value.toString() : modules.source()\n const editedOrigin = origin.replace(/\\(globalThis/, 'var taroExport = (globalThis')\n\n const source = new ConcatSource()\n source.add(editedOrigin)\n source.add(';')\n source.add(`\\nexport default taroExport ? taroExport.default${entryModule.miniType === META_TYPE.STATIC ? '' : '()'} : {};`)\n return source\n }\n }\n return modules\n })\n if (this.compiler === 'webpack5') {\n compilation.hooks.optimizeChunks.tap(PLUGIN_NAME, (chunks) => {\n for (const chunk of chunks) {\n const { chunkGraph, moduleGraph } = compilation\n const chunkEntryModule = this.getChunkEntryModule(compilation, chunk, this.compiler)\n if (chunkEntryModule) {\n const entryModule = chunkEntryModule.rootModule ?? chunkEntryModule\n const modulesIterable: Iterable<any> = chunkGraph.getOrderedChunkModulesIterable(chunk, compiler.webpack.util.comparators.compareModulesByIdentifier)\n\n if (this.checkMetaType(entryModule)) {\n for (const module of modulesIterable) {\n const moduleUsedExports = moduleGraph.getUsedExports(module, chunk.runtime)\n if (moduleUsedExports instanceof Set) {\n if (module.identifier().includes(chunk.name)) {\n const exportsInfo = moduleGraph.getExportsInfo(module)\n const used = exportsInfo.getUsedName('default', chunk.runtime)\n if (used) {\n exportsInfo.setUsedWithoutInfo(chunk.runtime)\n }\n }\n }\n }\n }\n }\n }\n })\n compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation).renderChunk.tap(PLUGIN_NAME, (modules, renderContext) => {\n const chunk = renderContext.chunk ?? renderContext\n const chunkEntryModule = this.getChunkEntryModule(compilation, chunk, this.compiler)\n if (chunkEntryModule) {\n const entryModule = chunkEntryModule.rootModule ?? chunkEntryModule\n\n if (this.checkMetaType(entryModule)) {\n // @ts-ignore\n const origin: string = modules._value ? modules._value.toString() : modules.source()\n const editedOrigin = origin.replace(EXPORT_PREFIX, 'return ')\n\n const source = new ConcatSource() as sources.ConcatSource\n source.add(editedOrigin)\n return source\n }\n }\n return modules\n })\n }\n })\n }\n\n /**\n * 修改最终的编译产物\n * 1. 生成模板自定义组件的 xml、css 文件\n * 2. 删除多余的文件\n * 3. 把 components-harmony 中被使用到的组件移动到输出目录\n */\n modifyBuildAssets (ctx, config) {\n ctx.modifyBuildAssets(({ assets, miniPlugin }) => {\n const scriptExt = miniPlugin.options.fileType.script\n const templateExt = miniPlugin.options.fileType.templ\n const styleExt = miniPlugin.options.fileType.style\n const configExt = miniPlugin.options.fileType.config\n\n // 模板自定义组件 xml\n const base = `base${templateExt}`\n assets[`container/index${templateExt}`] = assets[base]\n delete assets[base]\n\n // 模板自定义组件 css\n const styles = Object.keys(assets).filter(key => key.endsWith(styleExt))\n const source = new ConcatSource()\n styles.forEach(file => {\n const re = path.relative('container', file)\n source.add(`@import '${re}';\\n`)\n })\n assets[`container/index${styleExt}`] =\n this.compiler === 'webpack5'\n ? new RawSource(`${source.source()}`)\n : {\n size: () => source.source().length,\n source: () => source.source()\n }\n\n // 不需要生成 json 配置文件\n miniPlugin.pages.forEach(page => {\n delete assets[`${page.name}${configExt}`]\n })\n\n const appConfig = `app${configExt}`\n // 修改 harmony Hap 的配置文件 config.json,主要是注入路由配置\n const route = JSON.parse(assets[appConfig].source()).pages\n this.modifyHarmonyConfig(route, config.harmony)\n // 不需要生成 app.json\n delete assets[appConfig]\n\n // 不需要生成 custom-wrapper\n delete assets[`custom-wrapper${scriptExt}`]\n delete assets[`custom-wrapper${templateExt}`]\n delete assets[`custom-wrapper${configExt}`]\n\n // 其他冗余文件\n delete assets[`container/global${scriptExt}`]\n })\n\n // 把 components-harmony 中被使用到的组件移动到输出目录\n ctx.onBuildFinish(() => {\n const outDir = path.resolve(process.cwd(), config.outputRoot)\n const compsDir = path.resolve(__dirname, '..', 'components', 'components-harmony')\n const compsOutDir = path.join(outDir, 'container/components-harmony')\n\n fs.ensureDirSync(compsOutDir)\n ;[...this.template.usedNativeComps, 'navbar', 'tabbar', 'utils'].forEach(name => {\n const src = path.join(compsDir, name)\n const outDir = path.join(compsOutDir, name)\n fs.copy(src, outDir)\n })\n\n this.modifyHostPackage(config.harmony)\n })\n }\n\n modifyWebpackConfig () {\n this.ctx.modifyWebpackChain(({ chain }) => {\n const externals = ({ request }, callback) => {\n // Note: 判断引用的依赖是否是 Harmony 全局注入的依赖,如果是则 Webpack 不需要处理,直接 external 掉\n if (this.isHarmonyRequest(request)) {\n return callback(null, 'commonjs ' + request)\n }\n callback()\n }\n chain.merge({\n externals: [\n this.compiler === 'webpack5'\n ? externals\n : (_context, request, callback) => externals({ request }, callback)\n ]\n })\n chain.plugin('miniPlugin')\n .tap(args => {\n args[0].loaderMeta.modifyInstantiate = function (origin) {\n return origin.replace(/var inst = (App|Page)\\(([A-Za-z]+)\\(/, 'export default ($2.bind(null, ')\n }\n return args\n })\n })\n }\n\n modifyHarmonyConfig (pages, { projectPath, hapName, name }) {\n const designWidth = this.config.designWidth || this.config.postcss.pxtransform?.config?.designWidth || 750\n const hapConfigPath = path.join(projectPath, hapName, 'src/main/config.json')\n fs.readJson(hapConfigPath)\n .then(config => {\n config.module.js ||= []\n const jsFAs = config.module.js\n const target = jsFAs.find(item => item.name === name)\n if (target) {\n if (JSON.stringify(target.pages) === JSON.stringify(pages)) return\n target.pages = pages\n target.window = {\n designWidth,\n autoDesignWidth: false\n }\n } else {\n jsFAs.push({\n pages,\n name,\n window: {\n designWidth,\n autoDesignWidth: false\n }\n })\n }\n return fs.writeJson(hapConfigPath, config, { spaces: 2 })\n })\n .catch(err => {\n console.warn(chalk.red('设置鸿蒙 Hap 配置失败:', err))\n })\n }\n\n async modifyHostPackage ({ projectPath, hapName = 'entry' }) {\n const packageJsonFile = path.join(projectPath, hapName, 'package.json')\n const hmsDeps = {\n '@hmscore/hms-js-base': '^6.1.0-300',\n '@hmscore/hms-jsb-account': '^1.0.300'\n }\n\n const isExists = await fs.pathExists(packageJsonFile)\n if (!isExists) return\n\n const data = await fs.readFile(packageJsonFile)\n let packageJson: any = data.toString()\n\n packageJson = JSON.parse(packageJson)\n if (!packageJson.dependencies) {\n packageJson.dependencies = hmsDeps\n } else {\n for (const hmsDep in hmsDeps) {\n packageJson.dependencies[hmsDep] = hmsDeps[hmsDep]\n }\n }\n packageJson = JSON.stringify(packageJson)\n\n await fs.writeFile(packageJsonFile, packageJson)\n\n return packageJson\n }\n\n getChunkEntryModule (compilation, chunk, compiler = 'webpack5') {\n if (compiler === 'webpack5') {\n const chunkGraph = compilation.chunkGraph\n const entryModules = Array.from(chunkGraph.getChunkEntryModulesIterable(chunk))\n if (entryModules.length) {\n return entryModules[0]\n }\n } else {\n return chunk.entryModule\n }\n }\n\n checkMetaType (entryModule) {\n const { miniType } = entryModule\n\n return miniType === META_TYPE.ENTRY ||\n miniType === META_TYPE.PAGE ||\n (miniType === META_TYPE.STATIC && entryModule.name === 'container/index')\n }\n\n isHarmonyRequest (request: string): boolean {\n return HARMONY_SCOPES.some(scope => scope.test(request))\n }\n}\n","/* eslint-disable no-console */\nimport path from 'node:path'\n\nimport { chalk } from '@tarojs/helper'\n\nimport HarmonyOS_ArkTS from './program/arkTS'\nimport HarmonyOS_JSUI from './program/jsUI'\nimport { PLATFORM_NAME } from './utils'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { IHarmonyConfig } from '@tarojs/taro/types/compile'\n\n// 让其它平台插件可以继承此平台\nexport { HarmonyOS_ArkTS, HarmonyOS_JSUI }\n\nexport interface IOptions {\n disableArkTS?: boolean\n useConfigName?: string\n}\n\nexport default (ctx: IPluginContext, options: IOptions = {}) => {\n // 合并 harmony 编译配置到 opts\n ctx.modifyRunnerOpts(({ opts }) => {\n if (opts.platform !== PLATFORM_NAME) return\n\n const harmonyConfig = ctx.ctx.initialConfig.harmony\n assertHarmonyConfig(ctx, harmonyConfig)\n\n harmonyConfig.name ||= 'default'\n harmonyConfig.hapName ||= 'entry'\n const { projectPath, hapName } = harmonyConfig\n opts.outputRoot = path.join(projectPath, hapName, 'src/main', options.disableArkTS ? 'js' : 'ets')\n opts.harmony = harmonyConfig\n ctx.paths.outputPath = opts.outputRoot\n })\n\n const Harmony = options.disableArkTS ? HarmonyOS_JSUI : HarmonyOS_ArkTS\n ctx.registerPlatform({\n name: PLATFORM_NAME,\n useConfigName: options.useConfigName || PLATFORM_NAME,\n async fn ({ config }) {\n const program = new Harmony(ctx, config)\n await program.start()\n }\n })\n}\n\nfunction assertHarmonyConfig (ctx: IPluginContext, config): asserts config is IHarmonyConfig {\n const NOTE_INVALID = chalk.red('[✗] ')\n const errorChalk = chalk.hex('#f00')\n const lineChalk = chalk.hex('#fff')\n\n function throwError (err) {\n console.log(errorChalk(`Taro 配置有误,请检查! (${ctx.paths.configPath})`))\n console.log(` ${NOTE_INVALID}${lineChalk(err)}`)\n process.exit(0)\n }\n\n if (typeof config !== 'object' || !config) {\n throwError('请设置 harmony 编译配置')\n }\n\n if (!config.projectPath) {\n throwError('请设置 harmony.projectPath')\n }\n}\n"],"names":["TaroPlatform","PLATFORM_TYPE","isObject","getPkgVersion","path","isEmptyObject","NODE_MODULES","resolveSync","defaultMainFields","fs","singleQuote","RecursiveTemplate","getComponentsAlias","TaroPlatformBase","META_TYPE","ConcatSource","RawSource","chalk","Harmony","HarmonyOS_JSUI","HarmonyOS_ArkTS"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/api-loader.ts","../src/utils/constants.ts","../src/utils/index.ts","../src/program/harmony.ts","../src/program/arkTS.ts","../src/components/index.ts","../src/template.ts","../src/program/jsUI.ts","../src/index.ts"],"sourcesContent":["export function apiLoader (str: string) {\n return `import {\n useAddToFavorites,\n useDidHide,\n useDidShow,\n useError,\n useLaunch,\n useLoad,\n useOptionMenuClick,\n usePageNotFound,\n usePageScroll,\n usePullDownRefresh,\n usePullIntercept,\n useReachBottom,\n useReady,\n useResize,\n useRouter,\n useSaveExitState,\n useShareAppMessage,\n useShareTimeline,\n useTabItemTap,\n useTitleClick,\n useScope,\n useUnhandledRejection,\n useUnload\n} from '@tarojs/plugin-framework-react/dist/runtime'\n${str}\n\ntaro.useAddToFavorites = useAddToFavorites\ntaro.useDidHide = useDidHide\ntaro.useDidShow = useDidShow\ntaro.useError = useError\ntaro.useLaunch = useLaunch\ntaro.useLoad = useLoad\ntaro.useOptionMenuClick = useOptionMenuClick\ntaro.usePageNotFound = usePageNotFound\ntaro.usePageScroll = usePageScroll\ntaro.usePullDownRefresh = usePullDownRefresh\ntaro.usePullIntercept = usePullIntercept\ntaro.useReachBottom = useReachBottom\ntaro.useReady = useReady\ntaro.useResize = useResize\ntaro.useRouter = useRouter\ntaro.useSaveExitState = useSaveExitState\ntaro.useShareAppMessage = useShareAppMessage\ntaro.useShareTimeline = useShareTimeline\ntaro.useTabItemTap = useTabItemTap\ntaro.useTitleClick = useTitleClick\ntaro.useScope = useScope\ntaro.useUnhandledRejection = useUnhandledRejection\ntaro.useUnload = useUnload\n\nexport {\n useAddToFavorites,\n useDidHide,\n useDidShow,\n useError,\n useLaunch,\n useLoad,\n useOptionMenuClick,\n usePageNotFound,\n usePageScroll,\n usePullDownRefresh,\n usePullIntercept,\n useReachBottom,\n useReady,\n useResize,\n useRouter,\n useSaveExitState,\n useShareAppMessage,\n useShareTimeline,\n useTabItemTap,\n useTitleClick,\n useScope,\n useUnhandledRejection,\n useUnload\n}\n`\n}\n","export const PLATFORM_NAME = 'harmony'\nexport const PACKAGE_NAME = '@tarojs/plugin-platform-harmony-ets'\nexport const PLUGIN_NAME = 'TaroHarmony'\n\nexport const HARMONY_SCOPES = [/^@system\\./, /^@ohos\\./, /^@hmscore\\//]\n","import path from 'node:path'\n\nexport * from './api-loader'\nexport * from './constants'\n\nexport function parseRelativePath (from: string, to: string) {\n const relativePath = path.relative(from, to).replace(/\\\\/g, '/')\n\n return /^\\.{1,2}[\\\\/]/.test(relativePath)\n ? relativePath\n : /^\\.{1,2}$/.test(relativePath)\n ? `${relativePath}/`\n : `./${relativePath}`\n}\n","/* eslint-disable no-console */\nimport { type IFileType, type TConfig, TaroPlatform } from '@tarojs/service'\nimport { getPkgVersion } from '@tarojs/service/dist/utils/package'\nimport { isObject, PLATFORM_TYPE } from '@tarojs/shared'\n\nexport abstract class TaroPlatformHarmony<T extends TConfig = TConfig> extends TaroPlatform<T> {\n platformType = PLATFORM_TYPE.HARMONY\n globalObject = 'globalThis'\n\n abstract fileType: IFileType\n abstract useETS: boolean\n abstract useJSON5: boolean\n taroComponentsPath: string\n\n /**\n * 1. 清空 dist 文件夹\n * 2. 输出编译提示\n */\n private async setup () {\n await this.setupTransaction.perform(this.setupHarmonyApp, this)\n this.ctx.onSetupClose?.(this)\n }\n\n private setupHarmonyApp () {\n const { output } = this.config\n // eslint-disable-next-line eqeqeq\n if (output == undefined || output.clean == undefined || output.clean === true) {\n this.emptyOutputDir()\n } else if (isObject(output.clean)) {\n this.emptyOutputDir(output.clean.keep || [])\n }\n this.printDevelopmentTip()\n }\n\n protected printDevelopmentTip () {\n const tips: string[] = []\n const { chalk } = this.helper\n\n if (tips.length) {\n console.log(chalk.yellowBright('Tips:'))\n tips.forEach((item, index) => console.log(`${chalk.yellowBright(index + 1)}. ${item}`))\n console.log('\\n')\n }\n }\n\n /**\n * 返回当前项目内的 runner 包\n */\n protected async getRunner () {\n const compilers = ['vite'] // , 'webpack5'\n const { npm, chalk } = this.helper\n const { appPath } = this.ctx.paths\n\n if (compilers.indexOf(this.compiler) === -1) {\n const errorChalk = chalk.hex('#f00')\n\n console.log(errorChalk(`目前 Harmony 平台只支持使用 ${compilers.join(', ')} 编译,请在 config/index.ts 中设置 compiler = ${compilers[0]} 或者 harmony.compiler = ${compilers[0]}`))\n process.exit(0)\n }\n let runnerPkg: string\n switch (this.compiler) {\n case 'webpack5':\n runnerPkg = '@tarojs/webpack5-runner'\n break\n case 'vite':\n default:\n runnerPkg = '@tarojs/vite-runner'\n }\n const runner = await npm.getNpmPkg(runnerPkg, appPath)\n return runner.bind(null, appPath)\n }\n\n /**\n * 准备 runner 参数\n * @param extraOptions 需要额外合入 Options 的配置项\n */\n protected getOptions (extraOptions = {}) {\n const { ctx } = this\n const { recursiveMerge } = ctx.helper\n const config = recursiveMerge(Object.assign({}, this.config), {\n env: {\n FRAMEWORK: JSON.stringify(this.config.framework),\n TARO_ENV: JSON.stringify(this.platform),\n TARO_PLATFORM: JSON.stringify(this.platformType),\n TARO_VERSION: JSON.stringify(getPkgVersion()),\n SUPPORT_TARO_POLYFILL: 'disabled',\n },\n })\n\n return {\n ...config,\n buildAdapter: config.platform,\n fileType: this.fileType,\n platformType: this.platformType,\n useETS: this.useETS,\n useJSON5: this.useJSON5,\n isPure: Boolean(ctx?.runOpts?.options?.args?.pure),\n ...extraOptions\n }\n }\n\n /**\n * 调用 runner 开始编译\n * @param extraOptions 需要额外传入 runner 的配置项\n */\n private async build (extraOptions = {}) {\n this.ctx.onBuildInit?.(this)\n await this.buildTransaction.perform(this.buildHarmonyApp, this, extraOptions)\n }\n\n private async buildHarmonyApp (extraOptions = {}) {\n const runner = await this.getRunner()\n const options = this.getOptions(Object.assign({\n runtimePath: this.runtimePath,\n taroComponentsPath: this.taroComponentsPath,\n }, extraOptions))\n await runner(options)\n }\n\n /**\n * 调用 runner 开启编译\n */\n public async start () {\n await this.setup()\n await this.build()\n }\n}\n","import * as path from 'node:path'\n\nimport { defaultMainFields, fs, isEmptyObject, NODE_MODULES, resolveSync } from '@tarojs/helper'\n\nimport { apiLoader, HARMONY_SCOPES, PACKAGE_NAME, parseRelativePath, PLATFORM_NAME } from '../utils'\nimport { TaroPlatformHarmony } from './harmony'\n\nimport type { IPluginContext, TConfig } from '@tarojs/service'\nimport type { ILoaderMeta } from '@tarojs/taro/types/compile/config/plugin'\n\nconst frameworkAlias = {\n solid: 'solid',\n vue3: 'vue3',\n}\n\nexport default class Harmony extends TaroPlatformHarmony {\n platform = PLATFORM_NAME\n globalObject = 'globalThis'\n fileType = {\n templ: '.hml',\n style: '.css',\n config: '.json',\n script: '.js'\n }\n\n useETS = true\n useJSON5 = true\n runtimePath: string[] | string = []\n taroComponentsPath = `${PACKAGE_NAME}/dist/components-harmony-ets`\n apiEntryList = [\n /(@tarojs[\\\\/]plugin-platform-harmony-ets|taro-platform-harmony)[\\\\/]dist[\\\\/]apis[\\\\/]index\\.ts/,\n ]\n\n #defineConstants: Record<string, string> = {}\n\n constructor(ctx: IPluginContext, config: TConfig) {\n super(ctx, config)\n const that = this\n this.setupTransaction.addWrapper({\n close() {\n that.modifyViteConfig()\n },\n })\n\n ctx.onBuildFinish(() => {\n const outDir = path.resolve(process.cwd(), config.outputRoot)\n that.handleResourceEmit(outDir)\n })\n }\n\n get framework() {\n return this.ctx.initialConfig.framework || 'react'\n }\n\n get aliasFramework(): string {\n return frameworkAlias[this.framework] || 'react'\n }\n\n get apiLibrary() {\n return path.resolve(__dirname, './apis')\n }\n\n get apiEntry() {\n return this.apiEntryList\n }\n\n get componentLibrary() {\n return path.resolve(__dirname, './components-harmony-ets')\n }\n\n get runtimeLibrary() {\n return path.resolve(__dirname, './runtime-ets')\n }\n\n get runtimeFrameworkLibrary() {\n return path.resolve(__dirname, `./runtime-framework/${this.aliasFramework}`)\n }\n\n get defineConstants() {\n if (!isEmptyObject(this.#defineConstants)) {\n return this.#defineConstants\n }\n\n this.config.env ||= {}\n this.config.defineConstants ||= {}\n this.#defineConstants = {\n ...this.config.defineConstants,\n }\n const env = [...Object.entries(this.config.env), ...Object.entries(process.env)]\n\n env.forEach(([key, value]) => {\n this.#defineConstants[`process.env.${key}`] = JSON.stringify(value)\n })\n\n return this.#defineConstants\n }\n\n extensions = ['.js', '.jsx', '.ts', '.tsx', '.cjs', '.mjs', '.mts', '.vue', '.ets', '.d.ts']\n\n excludeLibraries: (string | RegExp)[] = []\n\n externalDeps: [string, RegExp, string?][] = [\n ['@tarojs/components/types', /^@tarojs[\\\\/]components[\\\\/]types/],\n ['@tarojs/components', /^@tarojs[\\\\/]components([\\\\/].+)?$/, this.componentLibrary],\n ['@tarojs/react', /^@tarojs[\\\\/]react$/],\n ['@tarojs/runtime', /^@tarojs[\\\\/]runtime([\\\\/]ets[\\\\/].*)?$/, this.runtimeLibrary],\n ['@tarojs/taro/types', /^@tarojs[\\\\/]taro[\\\\/]types/],\n ['@tarojs/taro', /^@tarojs[\\\\/]taro$/, this.apiLibrary],\n ['@tarojs/plugin-framework-react/dist/runtime', /^@tarojs[\\\\/]plugin-framework-react[\\\\/]dist[\\\\/]runtime$/, this.runtimeFrameworkLibrary],\n ['react', /^react$|react[\\\\/]cjs/],\n ['react/jsx-runtime', /^react[\\\\/]jsx-runtime$/], // Note: React 环境下自动注入,避免重复\n ]\n\n harmonyScope = [...HARMONY_SCOPES]\n\n indexOfLibraries(lib: string) {\n return this.externalDeps.findIndex(([_, rgx]) => rgx.test(lib))\n }\n\n removeFromLibraries(lib: string) {\n const index = this.indexOfLibraries(lib)\n if (index > -1) {\n this.externalDeps.splice(index, 1)\n }\n }\n\n moveLibraries(lib: string, target = '', basedir = this.ctx.paths.appPath, sync = false) {\n if (!lib) return\n if (this.excludeLibraries.some(e => typeof e === 'string' ? e === lib : e.test(lib))) return\n\n const { outputRoot, chorePackagePrefix } = this.ctx.runOpts.config\n if (sync) {\n const targetPath = path.join(outputRoot, NODE_MODULES)\n // FIXME 不支持 alias 配置\n const libName = lib\n lib = resolveSync(lib, {\n basedir,\n extensions: this.extensions,\n mainFields: ['unpkg', ...defaultMainFields],\n preserveSymlinks: false,\n }) || ''\n // Note: 跳过 node 相关或未能找到的依赖\n if (!lib || !path.isAbsolute(lib)) {\n return this.removeFromLibraries(libName)\n }\n let ext = path.extname(lib)\n const libDir = lib.replace(/.*[\\\\/]node_modules[\\\\/]/, '')\n const basename = path.basename(lib, ext)\n if (['.cjs', '.mjs'].includes(ext)) {\n ext = '.js'\n } else if (ext === '.mts') {\n ext = '.ts'\n }\n\n if (ext === '.js') {\n let typeName = `@types/${libName.replace('@', '').replace(/\\//g, '__')}`\n let typePath = resolveSync(typeName, {\n basedir,\n extensions: this.extensions,\n mainFields: [...defaultMainFields],\n preserveSymlinks: false,\n })\n if (!typePath) {\n typeName = path.join(path.dirname(lib), `${basename}.d.ts`)\n typePath = resolveSync(typeName, {\n basedir,\n extensions: this.extensions,\n mainFields: [...defaultMainFields],\n preserveSymlinks: false,\n })\n }\n if (typePath) {\n this.moveLibraries(\n typePath,\n path.extname(target)\n ? path.join(path.dirname(target), `${basename}.d.ts`)\n : path.join(target, `index.d.ts`),\n basedir\n )\n }\n }\n\n if (ext) {\n const code = fs.readFileSync(lib, { encoding: 'utf8' })\n if (\n (/(?:import\\s|from\\s|require\\()['\"]([\\\\/.][^'\"\\s]+)['\"]\\)?/g.test(code) ||\n /\\/{3}\\s<reference\\spath=['\"][^'\"\\s]+['\"]\\s\\/>/g.test(code)) &&\n `${libName}${path.extname(libDir)}` !== libDir\n ) {\n // Note: 文件包含包内引用的依赖\n const pkgPath = path.relative(libName, libDir)\n if (new RegExp(`^index(${this.extensions.map(e => e.replace('.', '\\\\.')).join('|')})$`).test(pkgPath)) {\n // Note: 入口为 index 场景\n lib = path.dirname(lib)\n } else if (!/[\\\\/]/.test(pkgPath)) {\n // FIXME: 非 index 入口文件场景,可能存在入口文件引用 index 但该文件被覆盖的情况,需要额外处理\n const isDTS = /\\.d\\.ts$/.test(target)\n target = path.join(target, `index${isDTS ? '.d.ts' : ext}`)\n } else {\n // FIXME 多级目录,可能存在入口不为 index 或者引用一级目录文件的情况,需要额外处理\n const dir = path.dirname(pkgPath)\n if (libDir.includes(NODE_MODULES)) {\n target = path.join(target, dir)\n }\n lib = path.dirname(lib)\n }\n } else if (path.isAbsolute(libDir)) {\n // Note: 本地 link 的依赖\n const isDTS = /\\.d\\.ts$/.test(target)\n target = path.extname(target)\n ? path.join(path.dirname(target), `${basename}${ext}`)\n : path.join(target, `index${isDTS ? '.d.ts' : ext}`)\n } else {\n const libPath = path.relative(targetPath, target)\n if (libDir !== libPath) {\n if (path.relative(libPath, libDir).startsWith('.')) {\n target = path.join(targetPath, libDir)\n } else {\n target = path.join(targetPath, libName, `index${ext}`)\n }\n }\n }\n }\n }\n\n const stat = fs.lstatSync(lib)\n if (stat.isDirectory()) {\n const files = fs.readdirSync(lib)\n files.forEach((file) => {\n if (![NODE_MODULES].includes(file)) {\n this.moveLibraries(path.join(lib, file), path.join(target, file))\n }\n })\n } else if (stat.isFile()) {\n let code = fs.readFileSync(lib, { encoding: 'utf8' })\n if (this.apiEntry.some(e => e.test(lib))) {\n code = apiLoader(code)\n }\n if (this.extensions.includes(path.extname(lib))) {\n // Note: 移除 onpm 不能装载的类型,新版本会导致 ets-loader 抛出 resolvedFileName 异常\n code = code.replace(/\\/{3}\\s*<reference\\s+types=['\"]([^'\"\\s]+)['\"]\\s*\\/>\\n*/g, '')\n // Note: 查询 externals 内的依赖,并将它们添加到 externalDeps 中\n code = code.replace(/(?:import\\s|from\\s|require\\()['\"]([^\\\\/.][^'\"\\s]+)['\"]\\)?/g, (src, p1 = '') => {\n if (p1.startsWith('node:') || p1.endsWith('.so')) return src\n\n const { outputRoot } = this.ctx.runOpts.config\n const targetPath = path.join(outputRoot, NODE_MODULES, p1)\n const relativePath = parseRelativePath(path.dirname(target), targetPath)\n if (this.harmonyScope.every(e => !e.test(p1))) {\n if (this.indexOfLibraries(p1) === -1 && !/\\.(d\\.ts|flow\\.js)$/.test(lib)) {\n this.externalDeps.push([p1, new RegExp(`^${p1.replace(/([-\\\\/$])/g, '\\\\$1')}$`)])\n this.moveLibraries(p1, targetPath, path.dirname(lib), true)\n }\n return src.replace(p1, relativePath.replace(new RegExp(`\\\\b${NODE_MODULES}\\\\b`), 'npm'))\n }\n\n return src\n })\n\n const define: Record<string, string> = {\n ...this.defineConstants,\n // Note: React 开发环境可能调用 stack 可能导致 appWrapper 实例变更\n 'ReactDebugCurrentFrame.getCurrentStack': 'ReactDebugCurrentFrame.getCurrentStack$',\n }\n if ([/(@tarojs[\\\\/]runtime|taro-runtime)[\\\\/]dist/].some(e => e.test(lib))) {\n define.global = 'globalThis'\n }\n const ext = path.extname(target)\n if (![/\\.d\\.e?tsx?$/, /\\.(json|map|md)$/].some(e => e.test(target))) {\n code = this.replaceDefineValue(code, define, ext)\n }\n if (['.ts'].includes(ext)) {\n code = '// @ts-nocheck\\n' + code\n }\n\n // 处理嵌套样式的编译,需要针对ReactElement进行props操作,dev模式下会Object.freeze,所以需要在开发模式下注入Object.freeze来覆盖解锁\n // 处理的方法再taro-platform-harmony/src/runtime-ets/dom/cssNesting: ele.props.style = declaration\n if (/react\\/jsx-runtime/.test(lib) && process.env.NODE_ENV === 'development') {\n code = 'Object.freeze = (obj) => obj \\n' + code\n }\n }\n\n // Note: 传入 chorePackagePrefix 时,不生成核心依赖库\n if (!chorePackagePrefix) {\n if (/tarojs[\\\\/]taro[\\\\/]types[\\\\/]index.d.ts/.test(target)) {\n code = `/// <reference path=\"global.d.ts\" />\n\n/// <reference path=\"taro.api.d.ts\" />\n/// <reference path=\"taro.component.d.ts\" />\n/// <reference path=\"taro.config.d.ts\" />\n/// <reference path=\"taro.lifecycle.d.ts\" />\n\nexport = Taro\nexport as namespace Taro\n\ndeclare const Taro: Taro.TaroStatic\n\ndeclare namespace Taro {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface TaroStatic {}\n}\ndeclare global {\n const defineAppConfig: (config: Taro.Config) => Taro.Config\n const definePageConfig: (config: Taro.Config) => Taro.Config\n}`\n }\n try {\n const targetPath = target.replace(new RegExp(`\\\\b${NODE_MODULES}\\\\b`), 'npm')\n fs.ensureDirSync(path.dirname(targetPath))\n fs.writeFileSync(targetPath, code)\n } catch (e) {\n console.error(`[taro-arkts] inject ${lib} to ${target} failed`, e)\n }\n }\n } else if (stat.isSymbolicLink()) {\n const realPath = fs.realpathSync(lib, { encoding: 'utf8' })\n this.moveLibraries(realPath, target, basedir)\n }\n }\n\n replaceDefineValue (code: string, define: Record<string, string>, ext = '.js') {\n Object.keys(define).forEach(key => {\n let value = define[key]\n if (/^['\"`].*['\"`]$/.test(value) && ['.ts', '.tsx', '.ets'].includes(ext)) {\n value = `(${value} as string)`\n }\n code = code.replace(new RegExp(`\\\\b${key}\\\\b`, 'g'), value)\n })\n return code\n }\n\n /**\n * 修改 Vite 配置\n */\n modifyViteConfig() {\n const that = this\n const { appPath } = that.ctx.paths\n const { config } = that.ctx.runOpts\n const { outputRoot, ohPackage = {}, chorePackagePrefix } = config\n\n if (!that.framework.includes('vue')) {\n that.excludeLibraries.push(/\\bvue\\b/)\n }\n // @ts-ignore\n if (that.framework === 'solid') {\n that.externalDeps.push([\n '@tarojs/plugin-framework-solid/dist/reconciler',\n /^@tarojs\\/plugin-framework-solid\\/dist\\/reconciler$/,\n path.join(this.runtimeFrameworkLibrary, 'reconciler')\n ])\n that.externalDeps.push([\n 'solid-js/universal',\n /^solid-js\\/universal$/,\n ])\n }\n\n const chorePkgRgx = new RegExp(`^${(chorePackagePrefix || '').replace(/[\\\\/]+/g, '[\\\\\\\\/]+').replace(/[-^$*?.|]/g, '\\\\$&')}`)\n const externals = Object.keys(ohPackage.dependencies || []).concat(Object.keys(ohPackage.devDependencies || []))\n function modifyResolveId({ source = '', name = 'modifyResolveId' }: Parameters<Exclude<ILoaderMeta['modifyResolveId'], undefined>>[0]) {\n if (externals.includes(source) || (chorePackagePrefix && chorePkgRgx.test(source))) {\n return {\n external: true,\n id: source,\n resolvedBy: name,\n }\n } else if (source.includes('css_variables')) {\n return {\n external: true,\n id: path.join(outputRoot, 'css_variables'),\n moduleSideEffects: 'no-treeshake',\n resolvedBy: name,\n }\n }\n\n if (chorePackagePrefix && that.indexOfLibraries(source) > -1) {\n return {\n external: true,\n id: path.join(chorePackagePrefix, source),\n resolvedBy: name,\n }\n }\n\n // Note: 映射 Taro 相关依赖到注入 taro 目录\n if (that.indexOfLibraries(source) > -1) {\n return {\n external: 'resolve',\n id: path.join(outputRoot, 'npm', source),\n moduleSideEffects: false,\n resolvedBy: name,\n }\n }\n }\n\n that.ctx.modifyViteConfig?.(({ viteConfig }) => {\n function externalPlugin() {\n const name = 'taro:vite-harmony-external'\n return {\n name,\n enforce: 'pre',\n resolveId (source = '', importer = '', options: any = {}) {\n return modifyResolveId({\n source,\n importer,\n options,\n name,\n resolve: this.resolve,\n })\n },\n }\n }\n function injectLoaderMeta() {\n return {\n name: 'taro:vite-loader-meta',\n async buildStart () {\n const { getViteHarmonyCompilerContext } = that.ctx.runnerUtils\n const compiler = getViteHarmonyCompilerContext(this)\n if (compiler) {\n switch (that.framework) {\n // @ts-ignore\n case 'solid':\n compiler.loaderMeta ||= {}\n compiler.loaderMeta.importFrameworkStatement = ``\n compiler.loaderMeta.mockAppStatement = `\nfunction App(props) {\n return null\n}\n`\n compiler.loaderMeta.frameworkArgs = `config`\n compiler.loaderMeta.creator = `createSolidApp`\n compiler.loaderMeta.importFrameworkName = ''\n break\n }\n compiler.loaderMeta.modifyResolveId = modifyResolveId\n }\n },\n }\n }\n\n const targetPath = path.join(outputRoot, NODE_MODULES)\n // Note: 注入 Taro 相关依赖\n this.externalDeps.forEach(([libName, _, target]) => {\n this.moveLibraries(target || libName, path.resolve(targetPath, libName), appPath, !target)\n })\n viteConfig.plugins.push(externalPlugin(), injectLoaderMeta())\n })\n }\n\n handleResourceEmit(outDir: string, basedir = this.ctx.paths.appPath) {\n const resources = path.resolve(outDir, '..', 'resources')\n const mediaPath = 'static/media'\n const mediaSource = resolveSync(`${PACKAGE_NAME}/${mediaPath}`, {\n basedir,\n extensions: this.extensions,\n mainFields: [...defaultMainFields],\n preserveSymlinks: false,\n isFile: (file: string) => {\n try {\n const stat = fs.lstatSync(file)\n return stat.isFile() || (file.endsWith(mediaPath.replace('/', path.sep)) && stat.isDirectory())\n } catch (_) {} // eslint-disable-line no-empty\n return false\n }\n })\n\n if (mediaSource) {\n this.moveLibraries(mediaSource, path.join(resources, 'base/media'), basedir)\n }\n }\n}\n","import { singleQuote } from '@tarojs/shared'\n\nexport const components = {\n Checkbox: {\n 'group-id': '',\n cn: ''\n },\n Span: {},\n Tabs: {\n index: '0',\n vertical: 'false',\n bindchange: ''\n },\n TabBar: {\n mode: singleQuote('scrollable')\n },\n TabContent: {\n scrollable: 'true'\n },\n List: {\n scrollpage: 'false',\n cachedcount: '0',\n scrollbar: 'off',\n scrolleffect: singleQuote('spring'),\n indexer: 'false',\n indexercircle: '',\n indexermulti: 'false',\n indexerbubble: 'true',\n divider: 'false',\n shapemode: singleQuote('default'),\n itemscale: 'true',\n itemcenter: 'false',\n updateeffect: 'false',\n chainanimation: 'false',\n scrollvibrate: 'true',\n initialindex: '0',\n initialoffset: '0',\n selected: '',\n bindindexerchange: '',\n bindscroll: '',\n bindscrollbottom: '',\n bindscrolltop: '',\n bindscrollend: '',\n bindscrolltouchup: '',\n bindrequestitem: ''\n },\n ListItem: {\n type: singleQuote('default'),\n primary: 'false',\n section: '',\n sticky: singleQuote('none'),\n stickyradius: singleQuote('1000px'),\n clickeffect: 'true',\n bindsticky: ''\n },\n Switch: {\n showtext: 'false',\n texton: singleQuote('On'),\n textoff: singleQuote('Off')\n },\n Textarea: {\n headericon: '',\n showcounter: 'false',\n menuoptions: '[]',\n softkeyboardenabled: 'true',\n bindtranslate: '',\n bindshare: '',\n bindsearch: '',\n bindoptionselect: '',\n bindselectchange: ''\n },\n Progress: {\n 'active-color': singleQuote('#09BB07'),\n 'background-color': singleQuote('#EBEBEB'),\n type: singleQuote('horizontal'),\n 'font-size': singleQuote('25px'),\n secondarypercent: '0',\n clockwise: 'true'\n },\n Slider: {\n showsteps: 'false',\n showtips: 'false'\n },\n Input: {\n 'placeholder-color': singleQuote('#99000000')\n },\n Video: {\n speed: '1',\n bindloadedmetadata: '',\n bindprogress: '',\n bindtap: ''\n },\n Image: {\n alt: ''\n },\n Radio: {\n 'group-id': ''\n },\n Picker: {\n selected: '',\n hours: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false'\n },\n PickerView: {\n mode: '',\n range: '',\n selected: '',\n hours: '',\n indicatorprefix: '',\n indicatorsuffix: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false',\n bindcolumnchange: '',\n cn: ''\n }\n}\n","import path from 'node:path'\n\nimport { fs } from '@tarojs/helper'\nimport { getComponentsAlias } from '@tarojs/shared'\nimport { Attributes, RecursiveTemplate, Shortcuts } from '@tarojs/shared/dist/template'\n\ninterface Component {\n nodeName: string\n nodeAlias: string\n attributes: Attributes\n}\n\ninterface Components {\n [key: string]: Record<string, string>\n}\n\ninterface ComponentConfig {\n includes: Set<string>\n exclude: Set<string>\n thirdPartyComponents: Map<string, Set<string>>\n includeAll: boolean\n}\n\nexport class Template extends RecursiveTemplate {\n Adapter = {\n if: 'if',\n else: 'else',\n elseif: 'elif',\n for: 'for',\n forItem: 'for-item',\n forIndex: 'for-index',\n key: 'key',\n type: 'harmony'\n }\n\n nativeComps: string[]\n\n usedNativeComps: string[] = []\n\n patchVoidElements: string[] = [\n 'button',\n 'image',\n 'camera',\n 'video',\n 'web-view',\n 'picker',\n 'checkbox',\n 'rich-text'\n ]\n\n constructor () {\n super()\n\n const compsDir = path.resolve(__dirname, 'components-harmony')\n this.patchVoidElements.forEach(item => {\n this.voidElements.add(item)\n })\n\n this.nativeComps = fs.readdirSync(compsDir).filter(name => fs.pathExistsSync(path.resolve(compsDir, name, 'index.hml')))\n }\n\n buildHeaderTemplate = (componentConfig) => {\n if (componentConfig.includeAll) {\n this.usedNativeComps = [...this.nativeComps]\n } else {\n this.usedNativeComps = Array.from<string>(componentConfig.includes).filter(name => this.nativeComps.includes(name))\n }\n\n const elements = this.usedNativeComps.reduce((str, name) => str + `<element name=\"taro-${name}\" src=\"./components-harmony/${name}/index.hml\"></element>\\n`, '')\n\n return `<element name=\"container\" src=\"./index.hml\"></element>\n${elements}\n\n<block>\n`\n }\n\n createMiniComponents (components: Components) {\n components.Button.cn = ''\n components.Button.bindtap = ''\n components.Button.type = \"'default'\"\n\n const result: Components = super.createMiniComponents(components)\n\n delete result['pure-view']\n delete result['click-view']\n delete result['static-view']\n delete result['static-text']\n delete result['static-image']\n\n return result\n }\n\n buildTemplate = (componentConfig: ComponentConfig) => {\n let template = this.buildHeaderTemplate(componentConfig)\n\n if (!this.miniComponents) {\n this.componentsAlias = getComponentsAlias(this.internalComponents)\n this.miniComponents = this.createMiniComponents(this.internalComponents)\n }\n const ZERO_FLOOR = 0\n const components = Object.keys(this.miniComponents)\n .filter(c => componentConfig.includes.size && !componentConfig.includeAll ? componentConfig.includes.has(c) : true)\n\n template = components.reduce((current, nodeName) => {\n const attributes: Attributes = this.miniComponents[nodeName]\n const nodeAlias = this.componentsAlias[nodeName]._num\n return current + this.buildComponentTemplate({ nodeName, nodeAlias, attributes }, ZERO_FLOOR)\n }, template)\n\n template += this.buildPlainTextTemplate()\n\n template += '\\n</block>'\n\n return template\n }\n\n buildFocusComponentTemplate (comp: Component): string {\n return this.generateComponentTemplateSrc(comp)\n }\n\n buildStandardComponentTemplate (comp: Component) {\n let nodeName = ''\n switch (comp.nodeName) {\n case 'slot':\n case 'slot-view':\n case 'cover-view':\n case 'view':\n case 'swiper-item':\n nodeName = 'div'\n break\n case 'static-text':\n nodeName = 'text'\n break\n case 'static-image':\n nodeName = 'image'\n break\n default:\n nodeName = comp.nodeName\n break\n }\n return this.generateComponentTemplateSrc(comp, nodeName)\n }\n\n generateComponentTemplateSrc (comp: Component, nodeName?): string {\n const nodeAlias = comp.nodeAlias\n const children = this.voidElements.has(comp.nodeName)\n ? ''\n : `<block for=\"{{i.cn}}\">\n <container i=\"{{$item}}\"></container>\n </block>`\n if (!nodeName) {\n nodeName = comp.nodeName\n }\n if (this.nativeComps.includes(nodeName)) {\n nodeName = `taro-${nodeName}`\n }\n\n const res = `\n<block if=\"{{i.nn == '${nodeAlias}'}}\">\n <${nodeName} ${this.buildAttrs(comp.attributes, comp.nodeName)} id=\"{{i.uid||i.sid}}\" data-sid=\"{{i.sid}}\">\n ${children}\n </${nodeName}>\n</block>\n`\n\n return res\n }\n\n buildPlainTextTemplate (): string {\n return `\n<block if=\"{{i.nn === '#text'}}\">\n <span>{{i.${Shortcuts.Text}}}</span>\n</block>\n`\n }\n\n buildAttrs (attrs, nodeName) {\n return Object.keys(attrs)\n .map(k => `${k}=\"${k.startsWith('bind') || k.startsWith('on') || k.startsWith('catch') ? attrs[k] : `{${this.getAttrValue(attrs[k], k, nodeName)}}`}\" `)\n .join('')\n }\n\n replacePropName (name: string, value: string, componentName?: string) {\n if (value === 'eh') return name.toLowerCase().replace(/^bind/, '@')\n // 由于鸿蒙不支持for属性 需要修改for属性,需要改名\n if (componentName === 'label' && name === 'for') return 'target'\n return name\n }\n\n getEvents (): any {\n return {\n '@click': 'eh'\n }\n }\n\n buildPageTemplate = (baseTempPath: string) => {\n const containerPath = path.join(path.dirname(baseTempPath), 'container')\n const containerTempPath = path.join(containerPath, 'index.hml')\n const navbarTempPath = path.join(containerPath, 'components-harmony/navbar/index.hml')\n const tabbarTempPath = path.join(containerPath, 'components-harmony/tabbar/index.hml')\n const template = `<element name=\"container\" src=\"${containerTempPath}\"></element>\n<element name=\"navbar\" src=\"${navbarTempPath}\"></element>\n<element name=\"tabbar\" src=\"${tabbarTempPath}\"></element>\n\n<div class=\"container\">\n <navbar if=\"{{taroNavBar}}\" title=\"{{taroNavBar.title}}\" background=\"{{taroNavBar.background}}\" text-style=\"{{taroNavBar.textStyle}}\" st=\"{{taroNavBar.style}}\"></navbar>\n <div class=\"body\" style=\"padding-top: 44vp;padding-bottom: {{isShowTaroTabBar ? '56vp' : '0'}}\">\n <refresh if=\"{{enablePullDownRefresh}}\" type=\"pulldown\" refreshing=\"{{isRefreshing}}\" onrefresh=\"onPullDownRefresh\">\n <block for=\"{{root.cn}}\">\n <container i=\"{{$item}}\"></container>\n </block>\n </refresh>\n <block else for=\"{{root.cn}}\">\n <container i=\"{{$item}}\"></container>\n </block>\n </div>\n <tabbar if=\"{{isShowTaroTabBar}}\" tabbar-data=\"{{taroTabBar}}\" selected=\"{{selected}}\"></tabbar>\n</div>\n`\n\n return template\n }\n}\n","import path from 'node:path'\n\nimport { chalk, fs, META_TYPE } from '@tarojs/helper'\nimport { TaroPlatformBase } from '@tarojs/service'\nimport { sources } from 'webpack'\nimport { ConcatSource, RawSource } from 'webpack-sources'\n\nimport { components } from '../components'\nimport { Template } from '../template'\nimport { HARMONY_SCOPES, PACKAGE_NAME, PLUGIN_NAME } from '../utils'\n\nconst EXPORT_PREFIX = 'var __webpack_exports__ = '\n\nexport default class Harmony extends TaroPlatformBase {\n platform = 'harmony'\n globalObject = 'globalThis'\n runtimePath = `${PACKAGE_NAME}/dist/runtime`\n taroComponentsPath = `${PACKAGE_NAME}/dist/components/components-react`\n fileType = {\n templ: '.hml',\n style: '.css',\n config: '.json',\n script: '.js'\n }\n\n template = new Template() as any\n\n /**\n * 1. setupTransaction - init\n * 2. setup\n * 3. setupTransaction - close\n * 4. buildTransaction - init\n * 5. build\n * 6. buildTransaction - close\n */\n constructor (ctx, config) {\n super(ctx, config)\n\n this.addEntry()\n\n this.setupTransaction.addWrapper({\n close () {\n this.modifyComponents()\n this.modifyPostcssConfigs(config)\n this.modifyWebpackConfig()\n }\n })\n\n this.modifyTaroExport()\n this.modifyBuildAssets(ctx, config)\n }\n\n /**\n * 增加组件或修改组件属性\n */\n modifyComponents () {\n this.template.mergeComponents(this.ctx, components)\n }\n\n /**\n * 不需要转 rpx\n */\n modifyPostcssConfigs (config: Record<string, any>) {\n config.postcss ||= {}\n const postcssConfig = config.postcss\n\n postcssConfig.autoprefixer = {\n enable: false\n }\n }\n\n /**\n * 模板自定义组件 js\n * 等鸿蒙支持 template 后需要重构\n */\n addEntry () {\n this.ctx.onCompilerMake(async ({ compilation, plugin }) => {\n // container/index.hml\n const filePath = path.resolve(__dirname, 'template/container')\n plugin.addEntry(filePath, 'container/index', META_TYPE.STATIC)\n const dep = plugin.dependencies.get(filePath)\n await new Promise((resolve, reject) => {\n compilation.addEntry(plugin.options.sourceDir, dep, dep.name, err => err ? reject(err) : resolve(null))\n })\n })\n }\n\n /**\n * 把 app、pages、自定义组件的 js 改造为鸿蒙的 export default 导出形式\n */\n modifyTaroExport () {\n this.ctx.onCompilerMake(({ compilation, compiler }) => {\n const render = this.compiler === 'webpack5'\n ? compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation).render\n : compilation.chunkTemplate.hooks.renderWithEntry\n render.tap(PLUGIN_NAME, (modules, renderContext) => {\n const chunk = renderContext.chunk ?? renderContext // Webpack4 中 renderContext 实际为 chunk\n const chunkEntryModule = this.getChunkEntryModule(compilation, chunk, this.compiler)\n if (chunkEntryModule) {\n const entryModule = chunkEntryModule.rootModule ?? chunkEntryModule\n\n if (this.checkMetaType(entryModule)) {\n const origin: string = modules._value ? modules._value.toString() : modules.source()\n const editedOrigin = origin.replace(/\\(globalThis/, 'var taroExport = (globalThis')\n\n const source = new ConcatSource()\n source.add(editedOrigin)\n source.add(';')\n source.add(`\\nexport default taroExport ? taroExport.default${entryModule.miniType === META_TYPE.STATIC ? '' : '()'} : {};`)\n return source\n }\n }\n return modules\n })\n if (this.compiler === 'webpack5') {\n compilation.hooks.optimizeChunks.tap(PLUGIN_NAME, (chunks) => {\n for (const chunk of chunks) {\n const { chunkGraph, moduleGraph } = compilation\n const chunkEntryModule = this.getChunkEntryModule(compilation, chunk, this.compiler)\n if (chunkEntryModule) {\n const entryModule = chunkEntryModule.rootModule ?? chunkEntryModule\n const modulesIterable: Iterable<any> = chunkGraph.getOrderedChunkModulesIterable(chunk, compiler.webpack.util.comparators.compareModulesByIdentifier)\n\n if (this.checkMetaType(entryModule)) {\n for (const module of modulesIterable) {\n const moduleUsedExports = moduleGraph.getUsedExports(module, chunk.runtime)\n if (moduleUsedExports instanceof Set) {\n if (module.identifier().includes(chunk.name)) {\n const exportsInfo = moduleGraph.getExportsInfo(module)\n const used = exportsInfo.getUsedName('default', chunk.runtime)\n if (used) {\n exportsInfo.setUsedWithoutInfo(chunk.runtime)\n }\n }\n }\n }\n }\n }\n }\n })\n compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation).renderChunk.tap(PLUGIN_NAME, (modules, renderContext) => {\n const chunk = renderContext.chunk ?? renderContext\n const chunkEntryModule = this.getChunkEntryModule(compilation, chunk, this.compiler)\n if (chunkEntryModule) {\n const entryModule = chunkEntryModule.rootModule ?? chunkEntryModule\n\n if (this.checkMetaType(entryModule)) {\n // @ts-ignore\n const origin: string = modules._value ? modules._value.toString() : modules.source()\n const editedOrigin = origin.replace(EXPORT_PREFIX, 'return ')\n\n const source = new ConcatSource() as sources.ConcatSource\n source.add(editedOrigin)\n return source\n }\n }\n return modules\n })\n }\n })\n }\n\n /**\n * 修改最终的编译产物\n * 1. 生成模板自定义组件的 xml、css 文件\n * 2. 删除多余的文件\n * 3. 把 components-harmony 中被使用到的组件移动到输出目录\n */\n modifyBuildAssets (ctx, config) {\n ctx.modifyBuildAssets(({ assets, miniPlugin }) => {\n const scriptExt = miniPlugin.options.fileType.script\n const templateExt = miniPlugin.options.fileType.templ\n const styleExt = miniPlugin.options.fileType.style\n const configExt = miniPlugin.options.fileType.config\n\n // 模板自定义组件 xml\n const base = `base${templateExt}`\n assets[`container/index${templateExt}`] = assets[base]\n delete assets[base]\n\n // 模板自定义组件 css\n const styles = Object.keys(assets).filter(key => key.endsWith(styleExt))\n const source = new ConcatSource()\n styles.forEach(file => {\n const re = path.relative('container', file)\n source.add(`@import '${re}';\\n`)\n })\n assets[`container/index${styleExt}`] =\n this.compiler === 'webpack5'\n ? new RawSource(`${source.source()}`)\n : {\n size: () => source.source().length,\n source: () => source.source()\n }\n\n // 不需要生成 json 配置文件\n miniPlugin.pages.forEach(page => {\n delete assets[`${page.name}${configExt}`]\n })\n\n const appConfig = `app${configExt}`\n // 修改 harmony Hap 的配置文件 config.json,主要是注入路由配置\n const route = JSON.parse(assets[appConfig].source()).pages\n this.modifyHarmonyConfig(route, config.harmony)\n // 不需要生成 app.json\n delete assets[appConfig]\n\n // 不需要生成 custom-wrapper\n delete assets[`custom-wrapper${scriptExt}`]\n delete assets[`custom-wrapper${templateExt}`]\n delete assets[`custom-wrapper${configExt}`]\n\n // 其他冗余文件\n delete assets[`container/global${scriptExt}`]\n })\n\n // 把 components-harmony 中被使用到的组件移动到输出目录\n ctx.onBuildFinish(() => {\n const outDir = path.resolve(process.cwd(), config.outputRoot)\n const compsDir = path.resolve(__dirname, '..', 'components', 'components-harmony')\n const compsOutDir = path.join(outDir, 'container/components-harmony')\n\n fs.ensureDirSync(compsOutDir)\n ;[...this.template.usedNativeComps, 'navbar', 'tabbar', 'utils'].forEach(name => {\n const src = path.join(compsDir, name)\n const outDir = path.join(compsOutDir, name)\n fs.copy(src, outDir)\n })\n\n this.modifyHostPackage(config.harmony)\n })\n }\n\n modifyWebpackConfig () {\n this.ctx.modifyWebpackChain(({ chain }) => {\n const externals = ({ request }, callback) => {\n // Note: 判断引用的依赖是否是 Harmony 全局注入的依赖,如果是则 Webpack 不需要处理,直接 external 掉\n if (this.isHarmonyRequest(request)) {\n return callback(null, 'commonjs ' + request)\n }\n callback()\n }\n chain.merge({\n externals: [\n this.compiler === 'webpack5'\n ? externals\n : (_context, request, callback) => externals({ request }, callback)\n ]\n })\n chain.plugin('miniPlugin')\n .tap(args => {\n args[0].loaderMeta.modifyInstantiate = function (origin) {\n return origin.replace(/var inst = (App|Page)\\(([A-Za-z]+)\\(/, 'export default ($2.bind(null, ')\n }\n return args\n })\n })\n }\n\n modifyHarmonyConfig (pages, { projectPath, hapName, name }) {\n const designWidth = this.config.designWidth || this.config.postcss.pxtransform?.config?.designWidth || 750\n const hapConfigPath = path.join(projectPath, hapName, 'src/main/config.json')\n fs.readJson(hapConfigPath)\n .then(config => {\n config.module.js ||= []\n const jsFAs = config.module.js\n const target = jsFAs.find(item => item.name === name)\n if (target) {\n if (JSON.stringify(target.pages) === JSON.stringify(pages)) return\n target.pages = pages\n target.window = {\n designWidth,\n autoDesignWidth: false\n }\n } else {\n jsFAs.push({\n pages,\n name,\n window: {\n designWidth,\n autoDesignWidth: false\n }\n })\n }\n return fs.writeJson(hapConfigPath, config, { spaces: 2 })\n })\n .catch(err => {\n console.warn(chalk.red('设置鸿蒙 Hap 配置失败:', err))\n })\n }\n\n async modifyHostPackage ({ projectPath, hapName = 'entry' }) {\n const packageJsonFile = path.join(projectPath, hapName, 'package.json')\n const hmsDeps = {\n '@hmscore/hms-js-base': '^6.1.0-300',\n '@hmscore/hms-jsb-account': '^1.0.300'\n }\n\n const isExists = await fs.pathExists(packageJsonFile)\n if (!isExists) return\n\n const data = await fs.readFile(packageJsonFile)\n let packageJson: any = data.toString()\n\n packageJson = JSON.parse(packageJson)\n if (!packageJson.dependencies) {\n packageJson.dependencies = hmsDeps\n } else {\n for (const hmsDep in hmsDeps) {\n packageJson.dependencies[hmsDep] = hmsDeps[hmsDep]\n }\n }\n packageJson = JSON.stringify(packageJson)\n\n await fs.writeFile(packageJsonFile, packageJson)\n\n return packageJson\n }\n\n getChunkEntryModule (compilation, chunk, compiler = 'webpack5') {\n if (compiler === 'webpack5') {\n const chunkGraph = compilation.chunkGraph\n const entryModules = Array.from(chunkGraph.getChunkEntryModulesIterable(chunk))\n if (entryModules.length) {\n return entryModules[0]\n }\n } else {\n return chunk.entryModule\n }\n }\n\n checkMetaType (entryModule) {\n const { miniType } = entryModule\n\n return miniType === META_TYPE.ENTRY ||\n miniType === META_TYPE.PAGE ||\n (miniType === META_TYPE.STATIC && entryModule.name === 'container/index')\n }\n\n isHarmonyRequest (request: string): boolean {\n return HARMONY_SCOPES.some(scope => scope.test(request))\n }\n}\n","/* eslint-disable no-console */\nimport path from 'node:path'\n\nimport { chalk } from '@tarojs/helper'\n\nimport HarmonyOS_ArkTS from './program/arkTS'\nimport HarmonyOS_JSUI from './program/jsUI'\nimport { PLATFORM_NAME } from './utils'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { IHarmonyConfig } from '@tarojs/taro/types/compile'\n\n// 让其它平台插件可以继承此平台\nexport { HarmonyOS_ArkTS, HarmonyOS_JSUI }\n\nexport interface IOptions {\n disableArkTS?: boolean\n useConfigName?: string\n}\n\nexport default (ctx: IPluginContext, options: IOptions = {}) => {\n // 合并 harmony 编译配置到 opts\n ctx.modifyRunnerOpts(({ opts }) => {\n if (opts.platform !== PLATFORM_NAME) return\n\n const harmonyConfig = ctx.ctx.initialConfig.harmony\n assertHarmonyConfig(ctx, harmonyConfig)\n\n harmonyConfig.name ||= 'default'\n harmonyConfig.hapName ||= 'entry'\n const { projectPath, hapName } = harmonyConfig\n opts.outputRoot = path.join(projectPath, hapName, 'src/main', options.disableArkTS ? 'js' : 'ets')\n opts.harmony = harmonyConfig\n ctx.paths.outputPath = opts.outputRoot\n })\n\n const Harmony = options.disableArkTS ? HarmonyOS_JSUI : HarmonyOS_ArkTS\n ctx.registerPlatform({\n name: PLATFORM_NAME,\n useConfigName: options.useConfigName || PLATFORM_NAME,\n async fn ({ config }) {\n const program = new Harmony(ctx, config)\n await program.start()\n }\n })\n}\n\nfunction assertHarmonyConfig (ctx: IPluginContext, config): asserts config is IHarmonyConfig {\n const NOTE_INVALID = chalk.red('[✗] ')\n const errorChalk = chalk.hex('#f00')\n const lineChalk = chalk.hex('#fff')\n\n function throwError (err) {\n console.log(errorChalk(`Taro 配置有误,请检查! (${ctx.paths.configPath})`))\n console.log(` ${NOTE_INVALID}${lineChalk(err)}`)\n process.exit(0)\n }\n\n if (typeof config !== 'object' || !config) {\n throwError('请设置 harmony 编译配置')\n }\n\n if (!config.projectPath) {\n throwError('请设置 harmony.projectPath')\n }\n}\n"],"names":["TaroPlatform","PLATFORM_TYPE","isObject","getPkgVersion","path","isEmptyObject","NODE_MODULES","resolveSync","defaultMainFields","fs","singleQuote","RecursiveTemplate","getComponentsAlias","TaroPlatformBase","META_TYPE","ConcatSource","RawSource","chalk","Harmony","HarmonyOS_JSUI","HarmonyOS_ArkTS"],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { Style, TaroElement } from '@tarojs/runtime'
5
5
 
6
6
  export type Props = Record<string, unknown>
7
7
 
8
- const IS_NON_DIMENSIONAL = /max|aspect|acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i
8
+ const IS_NON_DIMENSIONAL = /aspect|acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i
9
9
 
10
10
  function isEventName (s: string) {
11
11
  return s[0] === 'o' && s[1] === 'n'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/plugin-platform-harmony-ets",
3
- "version": "4.0.9-beta.8",
3
+ "version": "4.0.10-alpha.1",
4
4
  "description": "OpenHarmony & 鸿蒙系统插件",
5
5
  "author": "O2Team",
6
6
  "homepage": "https://gitee.com/openharmony-sig/taro",
@@ -27,13 +27,13 @@
27
27
  "webpack-sources": "^3.2.3",
28
28
  "@babel/preset-react": "^7.24.1",
29
29
  "webpack": "5.91.0",
30
- "@tarojs/components": "4.0.9-beta.8",
31
- "@tarojs/helper": "4.0.9-beta.8",
32
- "@tarojs/runtime": "4.0.9-beta.8",
33
- "@tarojs/runner-utils": "4.0.9-beta.8",
34
- "@tarojs/shared": "4.0.9-beta.8",
35
- "@tarojs/service": "4.0.9-beta.8",
36
- "@tarojs/taro": "4.0.9-beta.8"
30
+ "@tarojs/components": "4.0.10-alpha.1",
31
+ "@tarojs/runner-utils": "4.0.10-alpha.1",
32
+ "@tarojs/runtime": "4.0.10-alpha.1",
33
+ "@tarojs/helper": "4.0.10-alpha.1",
34
+ "@tarojs/service": "4.0.10-alpha.1",
35
+ "@tarojs/shared": "4.0.10-alpha.1",
36
+ "@tarojs/taro": "4.0.10-alpha.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "fast-glob": "^3.3.1",
@@ -42,7 +42,7 @@
42
42
  "rollup-plugin-ts": "^3.4.5",
43
43
  "solid-js": "^1.8.16",
44
44
  "tslib": "^2.4.0",
45
- "rollup-plugin-copy": "4.0.9-beta.8"
45
+ "rollup-plugin-copy": "4.0.10-alpha.1"
46
46
  },
47
47
  "scripts": {
48
48
  "prod": "pnpm run build",