diff --git a/cli/src/cordova.ts b/cli/src/cordova.ts index 5fb8ce54a..c7952bff2 100644 --- a/cli/src/cordova.ts +++ b/cli/src/cordova.ts @@ -1,5 +1,5 @@ import { Config } from './config'; -import { Plugin, PluginType, getJSModules, getPlatformElement, getPluginPlatform, getPluginType, getPlugins, printPlugins } from './plugin'; +import { Plugin, PluginType, getAssets, getJSModules, getPlatformElement, getPluginPlatform, getPluginType, getPlugins, printPlugins } from './plugin'; import { copySync, ensureDirSync, readFileAsync, removeSync, writeFileAsync } from './util/fs'; import { basename, extname, join, resolve } from 'path'; import { buildXmlElement, installDeps, log, logError, logFatal, logInfo, logWarn, parseXML, readXML, resolveNode, writeXML } from './common'; @@ -115,6 +115,11 @@ export async function copyPluginsJS(config: Config, cordovaPlugins: Plugin[], pl data = data.replace(/)<[^<]*)*<\/script\s*>/gi, ''); await writeFileAsync(filePath, data, 'utf8'); })); + const assets = getAssets(p, platform); + assets.map((asset: any) => { + const filePath = join(webDir, asset.$.target); + copySync(join(p.rootPath, asset.$.src), filePath); + }); })); writeFileAsync(cordovaPluginsJSFile, generateCordovaPluginsJSFile(config, cordovaPlugins, platform)); } diff --git a/cli/src/plugin.ts b/cli/src/plugin.ts index f044dcb36..1368d70a0 100644 --- a/cli/src/plugin.ts +++ b/cli/src/plugin.ts @@ -157,6 +157,13 @@ export function getJSModules(p: Plugin, platform: string) { return getAllElements(p, platform, 'js-module'); } +/** + * Get each asset tag for the given plugin + */ +export function getAssets(p: Plugin, platform: string) { + return getAllElements(p, platform, 'asset'); +} + export function getFilePath(config: Config, plugin: Plugin, path: string) { if (path.startsWith('node_modules')) { let pathSegments = path.split('/').slice(1);